https://www.acmicpc.net/problem/5724
문제
리처드 필립스 파인만은 노벨 물리학상을 수상한 미국의 물리학자이다. 그는 이론물리학을 연구했고, 양자 컴퓨팅 분야를 개척했다.
"Surely You’re Joking, Mr. Feynman!", "What Do You Care What Other People Think?"와 같은 그의 책은 많은 사람들의
사랑을 받았고, 한국에도 번역되어 출판되어져 있다. 그는 오랜 기간동안 퍼즐, 자물쇠, 암호를 만들고 푸는 일에 중독되어 있었다.
어느날, 남아메리카의 한 농장에서 파인먼의 것으로 추정되는 한 메모가 발견되었다. 퍼즐은 이 메모에는 중간자와 전자기에
대한 내용이 적혀있었고, 가장 마지막 줄에는 다음과 같은 퀴즈가 적혀져 있었다. "N × N 정사각형으로 이루어진 그리드에는
서로 다른 정사각형이 몇 개나 있을까요?" 이 퀴즈의 정답을 구하는 프로그램을 작성하시오.
N = 2인 경우에 정답은 5이다.
입력
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 그리드 한 변에 있는
정사각형의 개수 N이 주어진다. (1 ≤ N ≤ 100)
입력의 마지막 줄에는 0이 하나 주어진다.
출력
각 테스트 케이스에 대해서, 한 줄에 하나씩 서로 다른 정사각형의 개수를 출력한다.
규칙은 1일때 1
2일때 5
3일때 14
4이래 30 이다
규칙성을보면 F(N)= N^2+F(N-1) 이다.
보면 k^2 한값을 여태한것까지를 더해주면된다
그러므로 시그마 1부터 n 까지 k^2 이므로
이런 방정식 유도가 나오므로 사용하면된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <stdio.h> void Feynman() { int N; while (1) { scanf("%d", &N); if (N == 0) break; printf("%d\n", (N*(N + 1)*(2 * N + 1)) / 6); } } int main() { Feynman(); } | cs |
'백준 알고리즘' 카테고리의 다른 글
[C언어] 백준 알고리즘 11320번 삼각 무늬 -1 문제 (0) | 2019.02.13 |
---|---|
[C언어] 백준 알고리즘 10808번 알파벳 개수 문제 (0) | 2019.02.11 |
[C언어] 백준 알고리즘 5717번 상근이의 친구들 문제 (0) | 2019.02.11 |
[C언어] 백준알고리즘 4641번 Doubles 문제 (0) | 2019.02.09 |
[C언어] 백준알고리즘 5666번 핫도그 문제 (0) | 2019.02.09 |