반응형
문제
1부터 10까지 자연수를 각각 제곱해 더하면 다음과 같습니다 (제곱의 합).1부터 10을 먼저 더한 다음에 그 결과를 제곱하면 다음과 같습니다 (합의 제곱).따라서 1부터 10까지 자연수에 대해 "합의 제곱"과 "제곱의 합" 의 차이는 3025 - 385 = 2640 이 됩니다.
그러면 1부터 100까지 자연수에 대해 "합의 제곱"과 "제곱의 합"의 차이는 얼마입니까?
코드
#include <stdio.h>
int main(void)
{
int sum_square = 0, square_sum = 0; //합의 제곱, 제곱의 합
int sum = 0; //합을 임시로 저장할 변수
int i;
for (i = 1; i <= 100; i++)
{
square_sum += i * i;
sum += i;
}
sum_square= sum * sum;
printf("합의 제곱은 %d, 제곱의 합은 %d\n", sum_square, square_sum);
printf("합의 제곱과 제곱의 합의 차이는 %d\n", sum_square - square_sum);
return 0;
}
정답은 25164150이 나온다.
반복문으로 1부터 100까지의 합과 제곱의 합을 구하고, 합의 제곱을 따로 구해 출력하면 되는 간단한 문제인 것 같다. 시간이 많이 걸리지 않았다.
반응형
'프로그래밍 > Baekjoon' 카테고리의 다른 글
(C언어)프로젝트 오일러(Project Euler)8. 1000자리 숫자 안에서 이어지는 5자리 숫자의 곱 중 최대값은? (0) | 2020.05.25 |
---|---|
(C언어)프로젝트 오일러(Project Euler)7. 10001번째의 소수 (0) | 2020.05.25 |
(C언어)프로젝트 오일러(Project Euler) 5. 1 ~ 20 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수 (0) | 2020.05.25 |
(C언어)프로젝트 오일러(Project Euler) 4.세자리 수를 곱해 만들 수 있는 가장 큰 대칭수 (0) | 2020.05.25 |
(C언어)프로젝트 오일러(Project Euler) 3.가장 큰 소인수 구하기 (0) | 2020.05.25 |