각 자릿수를 더하고 그 값에 원래 수를 더하는 number_create 함수를 만들고 있는데요
예) 432를 입력하면 4 + 3 + 2 + 432 = 441이 나오게끔
함수 만들고 메인함수에 간단하게 넣어서 테스트해보려했더니 결과값이 안뜨네요..
각 자릿수를 더하고 그 값에 원래 수를 더하는 number_create 함수를 만들고 있는데요
예) 432를 입력하면 4 + 3 + 2 + 432 = 441이 나오게끔
함수 만들고 메인함수에 간단하게 넣어서 테스트해보려했더니 결과값이 안뜨네요..
걍 while 1 넣고 10으로 나눈 나머지 더하고 10으로 나누고 계속 반복 0되면 탈출 - dc App
굳이 digit 구할필요 없음 - dc App
while문 만들어서 n을 10으로 나눈 값이 0으로 되면 break를 걸라는 말씀이신가요?? digit값구할필요없이?
ㅇㅇ while(1) ans += n%10; n/=10; - dc App
if(n==0 break - dc App
헐 이렇게 하니까 나오네요 근데 저건 왜 안나오지 ㅠ
저거 좀더 한 로직으로만들수있을것 같은데
while문으로 하나로 묶었더니 나오긴 나오네요 하 ㄹㅇ 좆밥을 살..
후... 식사후 풀어본다...
while(n/10>0){ 각 자리수 더하는 로직 } 이렇게 만들면 저렇게 복잡하게 할필요없음
제가 ㄹㅇ 뉴비라 알고리즘 관련 공부가 덜 돼서 저런문제 좀 복잡하게 생각하는 경향이 있는데 while(1)문 넣으니까 값이 나오네요
정보) digit이 업데이트된다고 해서 compare가 업데이트되지 않는다 - dc Cpp
digit이 2로 올라가면 compare가 10^2 = 100이 안된다는 말인가여??
compare에 대입은 한번만 일어나고 해당 코드에서 digit이 1인 시점에서 대입이 일어난 후 전혀 업데이트되지 않음 - dc Cpp
정보)10^2의 연산결과는 8이다 - dc Cpp
ㅋㅋㅋㅋㅋㅋㅋㅋ아 감사합니다 진짜 잘해지고싶은데 ㄹㅇ 어렵네요 알아가는 재미는 있는데 ㅋㅋㅋㅋ
천리길도 택시잡기부터 - dc Cpp
아 c에서 ^는 비트논리연산자군요 ㄹㅇ 감사...
알아먹네ㅋㅋ - dc Cpp
int n2=n; while(n2/10>0){ int c; c=n2%10; n=n+c; n2=n2/10; }
이렇게 해봐 훨씬 간단하
while문으로 확실히 하나로 묶으니까 간단하고 코드도 보기 좋네요 바로 수정햇음 하 ㄹㅇ 아직 갈길이 멀구나..