알고리즘/백준
[백준_단계별로 풀어보기]함수 - 4673번 셀프 넘버 | c언어
jiiihye
2022. 1. 13. 13:52
c언어
#include<stdio.h>
int self_num();
int main(){
self_num();
return 0;
}
int self_num(){
int x[10000]={0};
int no_self=0;
for(int i=1;i<=10000;i++){
if(i<10){
no_self=i+i;
x[no_self]=1;
}else if(i<100){
no_self=i+(i/10)+(i%10);
x[no_self]=1;
}else if(i<1000){
no_self=i+(i/100)+((i%100)/10)+((i%100)%10);
x[no_self]=1;
}else if(i<10000){
no_self=i+(i/1000)+((i%1000)/100)+(((i%1000)%100)/10)+(((i%1000)%100)%10);
if(no_self<=10000) x[no_self]=1;
}
}
for(int j=1;j<=10000;j++){
if(x[j] != 1) printf("%d\n",j);
}
return 0;
}
결과가 9993까지만 나와야되는데 자꾸 10000까지 나온다,, 어디가 잘못된건지 더 찾아봐야된다..