求幂

来源:互联网 发布:自由篮球挂机软件 编辑:程序博客网 时间:2024/06/10 08:58

东东对幂函数运算很感兴趣,在学习的过程中东东发现了一些有趣的性质:9^3=27^2,2^10 = 32^2.东东对这个性质充满了好奇,东东现在给出一个整数n,希望你能帮助他求出满足a^b=c^d(1<=a,b,c,d<=n)的式子有多少个。
输入描述:输入包括一个整数n(1<=n<=10^5)
输出描述:输出一个整数,表示满足要求的式子数。因为答案可能很大,输出对1000000007求模的结果。
第一种方法:暴力法
分别从1到n遍历a, b, c, d,满足条件时count+1

public class Abcd {    public static void main(String[] args) {        Scanner in = new Scanner(System.in);        int n = in.nextInt();        System.out.println(getCount(n));    }    private static int getCount(int n){        int count = 0;        for (int a = 1; a <= n; a++) {            for (int b = 1; b <= n; b++) {                for (int c = 1; c <= n; c++) {                    for (int d = 1; d <= n; d++) {                        if(Math.pow(a, b) == Math.pow(c, d))                            count++;                    }                }            }        }        return count;    }}

更好的方法还没想到,待更。

原创粉丝点击