🚩 문제 설명
◾ 1 ~ 100 까지 제곱의 합
◾ 1 ~ 100 까지 합의 제곱의 차를 구하는 문제
예1. 제곱의합
1^2 + 2^2 + ... + 100^2
예2. 합의 제곱
(1 + 2 + ... + 100)^2
📑 문제 풀이
//20200121 오일러알고리즘 Problem 6
#include <iostream>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr); cout.tie(nullptr);
int sum1 = 0;
int sum2 = 0, pow = 0;
//합의 제곱
for (int i = 1; i <= 100; i++)
{
sum1 += i;
}
sum1 *= sum1;
cout << "합의 제곱: " << sum1 << "\n";
//곱의 제곱
for (int i = 1; i <= 100; i++)
{
sum2 += i * i;
}
cout << "제곱의 합: " << sum2 << "\n";
cout << "답:" << sum1-sum2 << "\n";
return 0;
}
💬 Point
👉 만능 반복문 사용
◾ 반복문을 사용한다.
◾ 이번 문제는 쉬워서 맞추면 프로그래밍을 잘한다는 착각을 불러일으킨다.
◾ 제곱의 합은 1부터 100까지 i를 두번 곱해서 sum에 더해준다.
◾ 합의 제곱은 모든 합을 구해서 두번 곱해준다.
But,
✅ 만약 시간을 줄이고 싶다면 수열의 합을 이용하여 구하는 방법도 있다고 한다.
➕ Solution 사이트 첨부
https://www.mathblog.dk/project-euler-problem-6/
728x90
'✏️ 𝗔𝗹𝗴𝗼𝗿𝗶𝘁𝗵𝗺 > etc' 카테고리의 다른 글
Problem #010 (0) | 2020.01.30 |
---|---|
Problem #008 (0) | 2020.01.28 |
Problem #005 (0) | 2020.01.20 |
Problem #004 (0) | 2020.01.16 |
Problem #003 (0) | 2020.01.08 |