[BOJ] WHILE문
2020. 7. 21. 07:37ㆍBOJ
좋은 아침입니다.
[BOJ 10952]
여전히 쉬워
#include <stdio.h>
int two_sum(){
int A, B;
scanf("%d%d",&A,&B);
if(A == 0 && B == 0) return -1;
printf("%d\n",A+B);
return 0;
}
int main(){
while(two_sum() == 0) ;
}
[BOJ 10951]
옛날에 이 문제를 어떻게 풀어야 하는지 생소했던 기억이 있다. 핵심은 입력이 끝났음을 인지하는 방법을 알아야 하는 것이다. 입력이 모두 끝나면 운영체제에서는 EOF로 끝을 표시해놓는다. 그래서 입력이 끝났음을 안다. 이 때 scanf 함수는 EOF의 값을 리턴한다. 보통 이 값은 -1이나 다를 수도 있다. 일반적으로는 음수라고 한다.
#include <stdio.h>
int two_sum(){
int A, B;
if(scanf("%d%d",&A,&B) < 0) return -1;
if(A == 0 && B == 0) return -1;
printf("%d\n",A+B);
return 0;
}
int main(){
while(two_sum() == 0) ;
}
[BOJ 1110]
이제 좀 풀어볼 만한 것 같다. 그냥 설명한대로 구현하면 된다.
#include <stdio.h>
int number_cycle(int N){
const int a_org = N / 10, b_org = N % 10;
int a = a_org, b = b_org;
int count = 0;
do{
int b_next = (a + b) % 10;
a = b;
b = b_next;
++count;
} while(a != a_org || b != b_org);
return count;
}
int main(){
int N;
scanf("%d",&N);
printf("%d",number_cycle(N));
}
감사합니다.
'BOJ' 카테고리의 다른 글
[BOJ] 함수 (0) | 2020.07.23 |
---|---|
[BOJ] 1차원 배열 (0) | 2020.07.21 |
[BOJ] FOR문 (0) | 2020.07.20 |
[BOJ] 입출력과 사칙연산 (1) | 2020.07.20 |
[BOJ] IF문 (0) | 2020.07.19 |