//求幂运算的代码,哪位大神帮忙看看有没有问题。 //解题思路:输入为n时包含五种1情况:1.abcd中有0个n,此时组合数为F(N-1); //2.有2个n时,组合数为2(n-1); //3.有3个n时,组合数为0; //4.有4个n时,组合数为1; //5,有1个n时,分为1做底数和1不做底数两种情况。1做底数时,组合数为2(n-1); // 1不做底数时,例如n=8,1^8=2^3这种情况,只能遍历,即下面的Special(n); import java.util.Scanner; public class jingdong1_2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int n = sc.nextInt(); System.out.println(MaxGroup(n)); } sc.close(); } public static int MaxGroup(int n){ if(n==1) return 1; else return MaxGroup(n-1)+4*n-3+Special(n); } public static int Special(int n){ int number = 0; for(int i=2; i<=n/2; i++){ for(int j=2; j<=n/2 ; j++){ if(Math.pow(i, j) == n){ number++; } } } return number; } }
点赞 1

相关推荐

Jing_Rainb...:小公司搞出大厂流程,要么是真缺技术大牛,要么是老板的偶像包袱😂…面完记得来更新后续!
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务