1110번 - 더하기 사이클
#include <stdio.h>
int main(){ int ten; int one; int ori; int cnt = 0;
int n_num = 0;
int tmp_t = 0; int tmp_o = 0; int tmp = 0;
scanf("%1d", &ten); scanf("%1d", &one);
tmp_t = ten; tmp_o = one;
while (true){ tmp = tmp_o; tmp_o = (tmp_t + tmp_o) % 10; tmp_t = tmp;
printf("%d ", tmp_t); printf("%d\n", tmp_o);
cnt = cnt + 1;
if (tmp_t == ten && tmp_o == one) break; }
printf("%d\n", cnt); return 0;}
어디가 잘못된건지 모르겠네요;
그런데 0이면 입력이 00으로 들어오고 사이클이 1이 맞나요?
헐
scanf("%1d", &ten);scanf("%1d", &one);
부분을
scanf("%d", &n_num);
ten = n_num / 10; one = n_num % 10;
바꾸니까 되네요. 뭐지 이건..
입력이 한 자리로 둘어올 수 있어서 그런 것 같네요
1자리 숫자도 10자리에 0을 붙이면 한 자리 입력은 없는게 맞는 것 같은데.. 알수 없네요;;
덧셈을 할 때 0을 붙이라는 거지 입력 자체는 정수 한 자리인 것 같습니다
제가 문제를 잘못 이해했군요. 감사합니다.
댓글을 작성하려면 로그인해야 합니다.
aranhero 8년 전
#include <stdio.h>
int main(){
int ten;
int one;
int ori;
int cnt = 0;
int n_num = 0;
int tmp_t = 0;
int tmp_o = 0;
int tmp = 0;
scanf("%1d", &ten);
scanf("%1d", &one);
tmp_t = ten;
tmp_o = one;
while (true){
tmp = tmp_o;
tmp_o = (tmp_t + tmp_o) % 10;
tmp_t = tmp;
printf("%d ", tmp_t);
printf("%d\n", tmp_o);
cnt = cnt + 1;
if (tmp_t == ten && tmp_o == one)
break;
}
printf("%d\n", cnt);
return 0;
}
어디가 잘못된건지 모르겠네요;
그런데 0이면 입력이 00으로 들어오고 사이클이 1이 맞나요?