분류 전체보기
(C언어)프로젝트 오일러(Project Euler) 5. 1 ~ 20 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수
문제 1 ~ 10 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수는 2520입니다. 그러면 1 ~ 20 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수는 얼마입니까? 코드 #include int main(void) { int x = 21, res = 0; while (1) { if (x % 2 == 0 && x % 3 == 0 && x % 4 == 0 && x % 5 == 0 && x % 6 == 0 && x % 7 == 0 && x % 8 == 0 && x % 9 == 0 && x % 10 == 0 && x % 11 == 0 && x % 12 == 0 && x % 13 == 0 && x % 14 == 0 && x % 15 == 0 && x % 16 == 0 && x % 17 == 0 && x % 1..
(C언어)프로젝트 오일러(Project Euler) 4.세자리 수를 곱해 만들 수 있는 가장 큰 대칭수
문제 앞에서부터 읽을 때나 뒤에서부터 읽을 때나 모양이 같은 수를 대칭수(palindrome)라고 부릅니다. 두 자리 수를 곱해 만들 수 있는 대칭수 중 가장 큰 수는 9009 (= 91 × 99) 입니다. 세 자리 수를 곱해 만들 수 있는 가장 큰 대칭수는 얼마입니까? 코드 #include int main(void) { int i, j; //반복제어변수 int pal = 0; //대칭수 int num = 0; //임시 수 for (i = 1; i
(C언어)프로젝트 오일러(Project Euler) 3.가장 큰 소인수 구하기
문제 어떤 수를 소수의 곱으로만 나타내는 것을 소인수분해라 하고, 이 소수들을 그 수의 소인수라고 합니다. 예를 들면 13195의 소인수는 5, 7, 13, 29 입니다. 600851475143의 소인수 중에서 가장 큰 수를 구하세요. 코드 #include int main(void) { int divisor; //나눗수 long long quotient = 600851475143; for (divisor = 2; divisor
[C언어]프로젝트 오일러(Project Euler) 2. 피보나치 수열에서 4백만 이하이면서 짝수인 항의 합
문제 피보나치 수열의 각 항은 바로 앞의 항 두 개를 더한 것이 됩니다. 1과 2로 시작하는 경우 이 수열은 아래와 같습니다.짝수이면서 4백만 이하인 모든 항을 더하면 얼마가 됩니까? 코드 #include int main(void) { int a1 = 0, a2 = 1, a3=0; // 첫 번째, 일반항, 두 번째 일반항, 세 번째 일반항 int sum=0; //피보나치수열의 합을 누적할 변수 while(a3
project euler(프로젝트 오일러) 1. 1000보다 작은 자연수 중에서 3 또는 5의 배수를 모두 더하면?
문제 10보다 작은 자연수 중에서 3 또는 5의 배수는 3, 5, 6, 9 이고, 이것을 모두 더하면 23입니다. 1000보다 작은 자연수 중에서 3 또는 5의 배수를 모두 더하면 얼마일까요? 코드 #include int main(void) { /* 1. 1000까지 3의 배수를 모두 더한다. 2. 1000까지 5의 배수를 모두 더한다. 3. 1000까지 15의 배수를 모두 더한다. 4. 과정 1과 과정 2의 값을 더해서 과정 3의 값을 뺀다. */ int i, sum_3 = 0, sum_5 = 0, sum_15 = 0; for (i = 1; i < 1000; i++) { if (i % 3 == 0) { sum_3 += i; } } for (i = 1; i < 1000; i++) { if (i % 5 =..
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 5 5~7
5. 다음 프로그램에서 ①은 동일한 결과를 출력하는 while문으로, ②는 동일한 결과를 출력하는 for문으로 변환해 작성하시오. ① int i = 1; while (i =0; i-=3) { printf("%d\n", i); } 6. 하나의 문자를 입력받고, 입력받은 문자를 알파벳 대문자, 알파벳 소문자, 숫자, 그 외의 문자들로 구별하는 프로그램을 if문을 이용해 작성하시오. #include int main(void) { char dis; //구별(distinguish) 위한 문자형 변수 printf("문자 입력:"); scanf("%c", &dis); if ('0'
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 5 1~4
1. 반복문인 while문과 do-while문의 차이점을 설명하시오. while문은 조건식을 먼저 확인한 후 본문을 실행하지만 do~while문은 본문을 먼저 실행한 후 조건식을 확인한다. 2. if문이 두 번 나타나는 ①, ②를 논리 연산자를 이용해 두 조건을 하나로 표현한 if문으로 작성하시오. ① if (x 20) printf("%d\n", x); if (x 20) printf("%d\n", x); ② if (x > 10) if (x 10 && x < 20) printf("%d\n", x); 3. 다음 코드에서 잘못된 부분을 찾아 수정하시오. #include in..
<C프로그래밍-새내기를 위한 첫 C 언어 책>연습문제 chapter 4 (11~16)
11. 다음 수식을 계산하는 프로그램을 작성하시오. $$2x^{3}-3x^{2}+\frac{1}{x}$$ #include int main(void) { int x; double expression; printf("x 입력:"); scanf_s("%d", &x); expression = 2.0 * x*x*x - 3.0 * x*x + 1.0 / x; printf("ㅡ> x=%d일때 \n f(x)=2x³-3x²+1/x=%.1lf\n", x, expression); return 0; } x의 자료형, 소수점에 관한 언급이 없어 임의로 정함. 12. 네 자리 정수(num)을 입력받아 천, 백, 십 일의 자리로 분리하여 출력하는 프로그램을 작성하시오, #include int main(void) { int num; ..