백준30 백준 11653번[c언어] : 소인수분해 https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net [풀이] ○ 숫자 n 입력받기 ○ 처음에 나눌 값 i=2 선언 ○ n을 i로 나누어보고 나머지가 0이아니라면 i를 1씩 계속 증가시킨다 ○ n이 증가시킨 i로 나누어 떨어지면 i를 출력하고 n/=i를 해준다 ○ n의 몫이 결국 1이되면 반복문은 종료된다 #include int main() { int n; int i = 2; scanf("%d", &n); while (1) { if (n == 1) { break; } if (n % i == 0) { printf("%d\n", i); n /= i; } else i += .. 2022. 3. 20. 백준 2581번[c언어] : 소수 https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net [풀이] ○ 두 수 a, b를 입력받는다 ○ 소수를 체크하는 함수를 만들어준다 ○ 반복문을 통해 소수함수에 a부터b까지 집어넣고 리턴값이 있다면 그 수는 소수이다. sum에 더해준다. ○ 소수 최솟값을 구하기 위해 최솟값 함수를 10001로 초기화해주고 if(min>i) min=i 를 해준다 (i는 증가하기 때문에 맨 처음 최솟값만이 저장됨) ○ 반복문이 끝나고 sum이 0이면 소수가 없었다는 것이니 -1을.. 2022. 3. 20. 백준 1978번[c언어] : 소수 찾기 https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net ○ 소수는 약수가 1과 자기자신만 가지는 숫자를 말한다. ○ 몇번 반복할것인지 ntest입력 ○ 소수함수 작성 int sosu(int n) ○ 만약 매개변수 n이 1보다 작거나 같으면 그 숫자는 소수가 아니다 ○ 2부터 소수/2 까지 반복하며 만약 (매개변수n)%i 가 0이라면 그 수는 약수가 되는 것이다 #include int sosu(int n) { if (n 2022. 3. 20. 백준 10757번[c언어] : 큰 수 A+B https://www.acmicpc.net/problem/10757 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net ● 배열을 이용하여 풀 것이기 때문에 수를 입력받을 배열 선언하기 ● 배열을 뒤집을 함수 reverse함수 구현해주기 ● 뒤집어진 두배열을 더한 뒤 다시 뒤집으면 합이나옴 #include #include void reverse(char arr[]) { int len = strlen(arr); //배열의 개수 리턴 char temp; for (int i = 0; i < len / 2; i++) { //len/2까지만 바꿔치기하면 뒤에도 바껴져있음 temp = arr[i]; arr[i] = arr[len - .. 2022. 3. 20. 이전 1 2 3 4 5 6 7 8 다음