[白準1065]片手を探す(正解率53%)
1024 ワード
質問する
正の整数Xの各位置が等差数列である場合、その数を1つの数と呼ぶ.等差数列とは、連続する2つの数の差が一定の数列を指す.Nが与えられた場合、プログラムを作成し、1以上、N以下の数値を出力します.
入力
最初の行は、1000以下の自然数Nを与える.
しゅつりょく
最初の行は、1以上、N以下の数値を出力します.
解法
入力したNについては、すべての数字(1からN)をチェックし、各ビット数が等寸法列を構成しているかどうかをチェックし、等寸法列であればCount変数+1を最終計算で出力します.
1-1. しかし、全ての1から99が等寸法列として認定されているため、Count変数を99に初期化し、N<100でNを出力する
答え
他人の答え
探しましたが、参考になることは何もありません.
正の整数Xの各位置が等差数列である場合、その数を1つの数と呼ぶ.等差数列とは、連続する2つの数の差が一定の数列を指す.Nが与えられた場合、プログラムを作成し、1以上、N以下の数値を出力します.
入力
最初の行は、1000以下の自然数Nを与える.
しゅつりょく
最初の行は、1以上、N以下の数値を出力します.
解法
入力したNについては、すべての数字(1からN)をチェックし、各ビット数が等寸法列を構成しているかどうかをチェックし、等寸法列であればCount変数+1を最終計算で出力します.
1-1. しかし、全ての1から99が等寸法列として認定されているため、Count変数を99に初期化し、N<100でNを出力する
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int count =99;
//N<100이라면 n이 곧 한수의 갯수
if(n<100) {
System.out.println(n);
// N>100이라면 각각 검사하여 Count 변수 출력
}else {
for (int i = 100; i <= n; i++) {
if ((i / 100) - (i % 100 / 10) == (i % 100 / 10) - (i % 10)) count++;
}
System.out.println(count);
}
}
if ((i/100) - (i % 100/10) == (i % 100/10) - (i % 10)) count++; 文法で1行チェックした.他人の答え
探しましたが、参考になることは何もありません.
Reference
この問題について([白準1065]片手を探す(正解率53%)), 我々は、より多くの情報をここで見つけました https://velog.io/@kw78999/백준1065-한수찾기-정답률-53テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol