[白俊]4673号:セルフサービス番号
1392 ワード
📍 質問する
💡 に近づく
1から10000をチェックした後、その数を生成者として使用できる場合は、その数をフィルタリングすることで問題を解決します.関数セクションの複文は、他の人のコードを参照します.
*構造
1.1から10000までの繰り返し文では、d関数に数値を入れ、その数値をコンストラクション関数とする数値を返します.
2.return数はコンストラクション関数が存在する数を使用し、d関数が返す数nはboolean配列のインデックスとして、その位置をtrueに変更します.
3.boolean配列にfalse要素を出力する位置(インデックス).
👩💻 コード#コード#
public class Main {
public static void main(String[] args) {
boolean[] check = new boolean[10001]; // 1부터 10000이므로
for (int i = 1; i < 10001; i++){
int n = d(i);
if(n < 10001){ // 10000 이하의 수만 필요
check[n] = true;
}
}
StringBuilder sb = new StringBuilder();
for (int i = 1; i < 10001; i++) {
if (!check[i]) { // false 만 출력
sb.append(i).append('\n');
}
}
System.out.println(sb);
}
public static int d(int number){
int sum = number;
while(number != 0){
sum = sum + (number % 10); // 첫 째 자리수
number = number/10; // 10을 나누어 첫 째 자리를 없앤다
}
return sum;
}
}
🔗 リンク
https://www.acmicpc.net/problem/4673
注意:https://st-lab.tistory.com/53
Reference
この問題について([白俊]4673号:セルフサービス番号), 我々は、より多くの情報をここで見つけました https://velog.io/@dkfma3323/백준-4673번-셀프-넘버テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol