2010年9月12日日曜日

PKU Judge Online 1316 Self Numbers

■1316 Self Numbers

□Problem
自然数nに対し,d(n)をn+(各桁の総和)と定義する.例えば,d(75)=75+7+5=87.n=d(m)となるmが存在しないnをself-numberと呼ぶ.10000以下のself-numberを全て表示せよ.

□Solution
やるだけ.

□Code
package p1316;

import java.util.*;
import java.lang.*;
import java.math.*;
import java.io.*;

import static java.lang.Math.*;
import static java.util.Arrays.*;

public class Main{

Scanner sc=new Scanner(System.in);

final int INF=Integer.MAX_VALUE;
final double EPS=1e-9;

void run(){
int n=10000;
int[] a=new int[n];
for(int i=1; i<n; i++){
int m=i;
int s=i;
while(m!=0){
s+=m%10;
m/=10;
}
if(s<n)
a[s]=1;
}
for(int i=1; i<n; i++)
if(a[i]==0)
println(i+"");
}

void print(String s){
System.out.print(s);
}

void println(String s){
System.out.println(s);
}

public static void main(String[] args){
// System.setOut(new PrintStream(new BufferedOutputStream(System.out)));
new Main().run();
}
}

0 件のコメント: