C언어 : k 값을 입력 받은 다음 (1+2+3+…+n)이 k를 넘지 않으면서 가장 큰 값과 그 때의 n 값을 구하라
조회수 712회
사용자로부터 k 값을 입력 받은 다음 (1+2+3+…+n)이 k를 넘지 않으면서 가장 큰 값과 그 때의 n 값을 구하라.
위 과정을 반복해서 수행하다가 사용자가 k 값으로 -1을 입력하면 프로그램이 종료되도록 구현
이것저것 다 해 봤는데 도저히 안 되겠어서 여기 올립니다.
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
이렇게하면 사진같이 실행되는데.
#include <stdio.h> int main() { int k, n, sum; while (1) { sum = 0; n = 1; printf("k 값을 입력하시오: "); scanf("%d", &k); if (k == -1) { printf("프로그램을 종료합니다."); break; } while (k > sum) { sum += n; n++; } n--; sum -= n; n--; printf("1부터 %d까지의 합이 %d입니다.\n", n, sum); } return 0; }
댓글 입력