https://www.acmicpc.net/problem/4673
코드 #1
#include <stdio.h>
int main(void) {
int array[10000];
int sum = 0;
int divideNum = 10;
int a = 1;
for(int i=0; i<10000; i++) {
array[i] = i+1;
}
while(1) {
sum = a;
sum += a%divideNum;
a = a/10;
if(a == 0) {
array[sum-1] = 0;
a++;
}
}
array[sum-1] = 0;
for(int i=0; i<10000; i++) {
if(array[i] != 0) {
printf("%d \n", array[i]);
}
}
}
코드 #2
#include <stdio.h>
int main(void) {
int array[10001];
int sum = 0;
int divideNum = 10;
int a = 1;
int number = 0;
for(int i=1; i<10001; i++) {
array[i] = i;
}
number = a;
sum = number;
while(number < 10001) {
sum += number%divideNum;
number /= 10;
if(number == 0) {
array[sum] = 0;
a++;
}
}
for(int i=1; i<10001; i++) {
if(array[i] != 0) {
printf("%d \n", array[i]);
}
}
}
코드 #3
#include <stdio.h>
int sum(int num) {
int total = num;
while(num > 0) {
total += num%10;
num /= 10;
}
return total;
}
int main(void) {
int array[10001];
for(int i=1; i<10001; i++) {
array[i] = i;
}
for(int i=1; i<10001; i++) {
int t = sum(i);
array[t] = 0;
if(array[i] != 0) {
printf("%d\n", array[i]);
}
}
}
값은 제대로 출력이 되는데 runtime error가 뜬다.
코드 #4
#include <stdio.h>
int sum(int num) {
int total = num;
while(num > 0) {
total += num%10;
num /= 10;
}
return total;
}
int main(void) {
int array[10001];
for(int i=1; i<10001; i++) {
array[i] = i;
}
for(int i=1; i<10001; i++) {
int t = sum(i);
if(t < 10001) {
array[t] = 0;
}
}
for(int i=1; i<10001; i++) {
if(array[i] != 0) {
printf("%d\n", array[i]);
}
}
}