JAVAブルーブリッジカップ学習アルゴリズム孤独番号

JAVAブルーブリッジカップ学習アルゴリズム孤独番号

資源制約の
制限時間:256.0メガバイト:メモリ制限を1.0秒

問題の説明
  1 2、2、3、3つのことを:言って、道徳。
  任意の正の整数nに対して、我々は、D(n)がプラス様々な数の組成物のためのnの値を定義し、N。例えば、D(23)= 23 + 2 + 3 = 28、D(1481)= 1481 + 1 + 4 + 8 + 1 = 1495。
  N、D(N):このように、開始点としてどれ所与は、増加するシーケンスとして構成することができる 。D(D(n))は、D(D(D(N))) 33の開始から、例えば増分配列:
  33、39、51、57、69、84、96、111、114、120、123、129、141、...
  我々 nはD(N)と呼ばれる発電機の、上記の列の数、 33 39は、発電機51、等であり、発電機39です。いくつかの図面でも、このような101、91及び100のような2つの発生器によって生成されてもよい有していてもよいです。しかし、誰発電機など42のようないくつかの数字は、ありません。私たちは孤独な数字と呼ばれる、このような数字を呼び出します。

入力フォーマット
  線、正の整数n。

出力形式
  全て孤独n未満、1行につき1つのデジタル出力の昇順です。

サンプル入力
40

出力例
。1
。3
。5
。7
。9
20は、
31であります

データサイズや規則
  のn <= 10000

(その暴力を尋ね、聞かないでください)

import java.util.Scanner;

public class Main {
		public static void main(String[] args) {
			Scanner sca=new Scanner(System.in);
			int[] a=new int[10001];
			for(int i=1;i<10001;i++) {
				int sum=i;
				String s=String.valueOf(i);
				while(sum<=10000) {
					for(int j=0;j<s.length();j++) {
						int temp=s.charAt(j)-'0';
						sum+=temp;
					}
					if(sum>10000) {
						break;
					}
					a[sum]=1;
					s=String.valueOf(sum);
				}
			}
			int n=sca.nextInt();
			for(int i=1;i<=n;i++) {
				if(a[i]==0) {
					System.out.println(i);
				}
			}
		}
	}
	

发布了17 篇原创文章 · 获赞 0 · 访问量 367

おすすめ

転載: blog.csdn.net/qq_36551453/article/details/104488688