蘭橋杯公式サイトの穴埋め問題(10桁)

質問の説明

この質問は穴埋め問題です。結果を計算し、コード内の出力ステートメントを使用して穴埋め結果を出力するだけで済みます。

0 から 9 までの 10 個の数字から、繰り返しや省略なく、多くの 10 桁の数字を作ることができます。たまたま平方数(数の二乗)であるものもたくさんあります。

例: 1026753849 はその中で最小の平方数です。

その中で最も大きな平方数は何であるかを調べてください。

動作制限

  • 最大実行時間: 1秒
  • 最大実行メモリ: 128M
import java.util.*;

public class Main {
    public static void main(String[] args) {
        for(long i=100000;i>6666;i--){
            if(check(i*i)==1){
                System.out.println(i*i);
                break;
            }
        }
    }
    public static int check(long n){
        int flag=1;
        int k=0;
        int[] f=new int[10];
        while(n>0){
            k=(int)(n%10);
            f[k]++;
            n=n/10;
            if (f[k] > 1) {
                flag = 0;
                break;
            }
        }
        return flag;
    }
}

おすすめ

転載: blog.csdn.net/s44Sc21/article/details/132867210