티스토리 뷰
#. Problem
* The copyright in this matter is in Inflearn
#. Resolution Process
1. Read and understand problem
2. Redefine the problem + abstract
3. Create solution plan (select Algorithm, Data structure)
4. Prove the plan (check performance time and usage memory)
5. Carry out the plan
6. Look back on the plan and find a way to improve it
#. Solve
1. 카드에 적힌 수가 1000을 넘지 않는다고 하였으니 그냥 계산하도 무방할 것 같다.
하지만 가우스가 초등학생 때 만든 공식을 적용해보자. 가우스도 이 문제의 상황처럼 선생님이 1~100 까지의 합을 구한 사람만 놀 수 있다고 하였지만, 가우스는 몇 초? 만에 이 문제를 풀어냈다고 한다는 믿거나 말거나 하는 스토리가..
무튼, 이 공식은 n(n+1) / 2가 되시겠다.
#. Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <cstdio> int main(void) { freopen("input.txt", "rt", stdin); int n, i, num, ans, rst; scanf("%d", &n); for (i = 0; i < n; i++) { scanf("%d %d", &num, &ans); rst = (num * (num + 1)) / 2; if (rst == ans) printf("YES\n"); else printf("NO\n"); } return 0; } | cs |
#. Other code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include<stdio.h> int main(){ int n, sum=0, i, j, m, ans; scanf("%d", &n); for(i=1; i<=n; i++){ scanf("%d %d", &m, &ans); sum=0; for(j=1; j<=m; j++){ sum+=j; } if(ans==sum) printf("YES\n"); else printf("NO\n"); } return 0; } | cs |
#. Result
- Input --------------------------------------------------------
3
10 55
20 350
100 5050
------------------------------------------------------------------
- Output --------------------------------------------------------
YES
NO
YES
------------------------------------------------------------------
'PS > Problem_Solving' 카테고리의 다른 글
[Inflearn] 분노 유발자 (0) | 2020.04.21 |
---|---|
[Inflearn] 층간소음 (0) | 2020.04.21 |
[Inflearn] 소수의 개수 (0) | 2020.04.21 |
[Inflearn] 뒤집은 소수 (0) | 2020.04.21 |
[Inflearn] 가장 많이 사용된 자릿수 (0) | 2020.04.20 |