Java 算法 约数个数

目录标题

    • 题目描述
    • 解题思路
    • 代码

题目描述

有1个约数的最小数为1(1),有两个约数的最小数为2(1,2)……

有n个约数的最小数为Sn

S1=1 (1)

S2=2 (1 2)

S3=4 (1 2 4)

S4=6 (1 2 3 6)

求S100(即约数的数量恰好是100的最小正整数)

输入

输出
输出约数的数量恰好是100的最小正整数。

解题思路

直接用for循环查找约数个数,然后用while循环增加数值,直到有100个约数为止。

代码

public class Main {
    static int m=0;             //计算约数的个数
    public static void main(String[] args) {
    int i=117;                  //随便一个不是太大的数开始
    while (m!=100){             //直到有100个约数
        i++;                    //累加
        m=0;
        for (int i1=1;i1<=i;i1++){  //判断约数的个数
            if (i%i1==0){
                m++;
            }
        }
    }
    System.out.println(i);
    }
}

你可能感兴趣的:(java,leetcode,数据结构)