-
백준 10448번 : 유레카 이론(C 언어)c c++ 언어 공부 2023. 6. 5. 16:28
https://www.acmicpc.net/problem/10448
10448번: 유레카 이론
프로그램은 표준입력을 사용한다. 테스트케이스의 개수는 입력의 첫 번째 줄에 주어진다. 각 테스트케이스는 한 줄에 자연수 K (3 ≤ K ≤ 1,000)가 하나씩 포함되어있는 T개의 라인으로 구성되어
www.acmicpc.net
Code:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354#include <stdio.h>int main(){int x = 0;scanf("%d", &x);int i, j, k;int arr[45] = { 0, };int check = 0;int sum = 0;int flag = 0;for (i = 1; i < 45; i++){arr[i] = (i * (i + 1))/2 ;}while (x--){flag = 0;sum = 0;scanf("%d", &check);for (k = 1; k < 45; k++){for (j = 1; j < 45; j++){for (i = 1; i < 45; i++){sum = arr[i] + arr[j] + arr[k];if (sum == check){flag = 1;printf("1\n");break;}if (sum > check){break;}}if (flag == 1){break;}}if (flag == 1){break;}}if (flag == 0){printf("0\n");}}}cs 문제풀이:
우선 삼각수들을 먼저 구해서 arr배열에 넣어준다. 테스트가 1000이하이므로 n은 45가 제한임을 알 수 있다.
그 뒤 3개의 변수 i, j, k 를 이용해서 3개의 삼각수를 이용해 값을 만들 수 있는지 확인해 보았다.
'c c++ 언어 공부' 카테고리의 다른 글
백준 11004번 : k번째 수 (C 언어) (0) 2023.06.06 백준 2210번 : 숫자판 점프 (C 언어) (0) 2023.06.05 백준 1834번 : 나머지와 몫이 같은 수 (C 언어) (0) 2023.06.05 백준 2512번 : 예산 (C 언어) (0) 2023.06.04 백준 2851번 : 슈퍼 마리오(C 언어) (0) 2023.06.02