알고리즘 문제 해결/Project Euler

[수학] 프로젝트 오일러 6번 문제

jmkimmessi 2021. 10. 15. 00:00
반응형

https://euler.synap.co.kr/problem=6

 

6번 문제

1부터 100까지 "제곱의 합"과 "합의 제곱"의 차는?

euler.synap.co.kr

 

문제 해결 알고리즘

 

1부터 n까지의 합 공식

 

$$ 1+ 2 + 3 + \cdots + n = \frac{n(n+1)}{2} = \frac{(n^2 + n)}{2} $$

 

1부터 n제곱까지의 합 공식

 

$$ 1^2 + 2^2 + 3^3 + \cdots + n^2 = \frac{n(n+1)(2n+1)}{6} \\ = \frac{2n^3 + 3n^2 + n}{6} $$

 

 

소스 코드

 

#include <bits/stdc++.h>
using namespace std;

int main(){

  //제곱의 합
  int a = (2 * pow(100, 3) + 2 * pow(100, 2) + 100)/6;
  
  //합의 제곱
  int b = pow(((pow(100, 2) + 100)/2),2);
  
  cout << b - a;
}
반응형