[白俊]4673:セルフサービス番号
5716 ワード
質問する
[Slver V]正解率:48%
https://www.acmicpc.net/problem/4673
の意見を打診
学識
もとは繰り返しの最後の時、resultは10000より大きい部分があって、それからまた小さくなりました.
->繰り返しの末尾部分をよくチェックします.常に増加しても、頻繁に減少しなくてもいいです.
コード#コード# #include <stdio.h>
int calculate(int num);
int main(){
int result=0;
int check[10000] = {0, };
result = calculate(1);
for(int i=2; i<10000; i++){
if(result-1 < 10000)
check[result-1] = 1;
result = calculate(i);
}
for(int i=0; i<10000; i++){
if(check[i]==0)
printf("%d\n", i+1);
}
}
int calculate(int num){
int ans;
ans = num;
do{
ans += num%10;
}while((num/=10) != 0);
return ans;
}
Reference
この問題について([白俊]4673:セルフサービス番号), 我々は、より多くの情報をここで見つけました
https://velog.io/@yeob-yi/boj-4673
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
#include <stdio.h>
int calculate(int num);
int main(){
int result=0;
int check[10000] = {0, };
result = calculate(1);
for(int i=2; i<10000; i++){
if(result-1 < 10000)
check[result-1] = 1;
result = calculate(i);
}
for(int i=0; i<10000; i++){
if(check[i]==0)
printf("%d\n", i+1);
}
}
int calculate(int num){
int ans;
ans = num;
do{
ans += num%10;
}while((num/=10) != 0);
return ans;
}
Reference
この問題について([白俊]4673:セルフサービス番号), 我々は、より多くの情報をここで見つけました https://velog.io/@yeob-yi/boj-4673テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol