aranhero   10달 전

#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이 맞나요?

aranhero   10달 전

헐 

scanf("%1d", &ten);
scanf("%1d", &one);

부분을 

scanf("%d", &n_num);

ten = n_num / 10;
one = n_num % 10;

바꾸니까 되네요. 뭐지 이건..


indioindio   10달 전

입력이 한 자리로 둘어올 수 있어서 그런 것 같네요

aranhero   10달 전

1자리 숫자도 10자리에 0을 붙이면 한 자리 입력은 없는게 맞는 것 같은데.. 알수 없네요;;

indioindio   10달 전

덧셈을 할 때 0을 붙이라는 거지 입력 자체는 정수 한 자리인 것 같습니다

aranhero   10달 전

제가 문제를 잘못 이해했군요. 감사합니다.

댓글을 작성하려면 로그인해야 합니다.