一道编程题。把一个数分解成质数的q次方

慕容天河 2017-03-07 09:40:26
题目如下:
一个正整数n(2<=n<=10^18).如果n可以分解成p^q,其中p为质数且q为大于1的整数,则输出p,q。否则输出NO
例如:
输入 27
输出 3 3

以下是我的源码:
import java.util.Scanner;

public class ArrayTest {
public static boolean isPrimer(int i){
if(i<2){
return false;
}else{
if(i==2||i==3)
return true;
for(int j=2;j<=Math.sqrt(i);j++){
if(i%j==0)
return false;
}
return true;
}
}
private static double sqrtn(double d, double i) {
i=1/i;

return Math.pow(d, i);
}

public static int sup(int i){
for(int j=2;j<=18;j++){
double ans = sqrtn(i,j);
int ians = (int)ans;
if(ans-ians==0){
if(isPrimer(ians)){
return j;
}
}
}
return -1;
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
int q = sup(i);
if(q==-1){
System.out.println("NO");
}else{
int p = (int)sqrtn(i,q);
System.out.println(p+" "+q);
}
}
}

感觉没有错,输入了几组数据也是对的。为什么提交时候提示我测试用例仅通过10%...求大神告知哪里错了,哪些情况没有考虑到。感谢!
...全文
104 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
C/C++语言经典实用趣味程序设计编程百例精解(1)
(详解收藏在)http://www.klfd.net.cn/?p=384
1.绘制余弦曲线
2.绘制余弦曲线和直线
3.绘制圆
4.歌星大奖赛
5.求最大
6.高次方的尾
7.阶乘尾零的个
8.借书方案知多少
9.杨辉三角形
10.制转换

C/C++语言经典实用趣味程序设计编程百例精解(2)
(详解收藏在)http://www.klfd.net.cn/?p=385
11.打鱼还是晒网
12.抓交通肇事犯
13.该存多少钱
14.怎样存钱利最大
15.捕鱼和分鱼
16.出售金鱼
17.平分七筐鱼
18.有限5位
19.8除不尽的自然
20.一个奇异的三位

C/C++语言经典实用趣味程序设计编程百例精解(3)
(详解收藏在)http://www.klfd.net.cn/?p=386
21.4位反序
22.求车速
23.由两个平方三位获得三个平方二位
24.阿姆斯特朗
25.完全
26.亲密
27.自守
28.回文
29.求具有abcd=(ab+cd)2性质的四位
30.求素

C/C++语言经典实用趣味程序设计编程百例精解(4)
(详解收藏在)http://www.klfd.net.cn/?p=387
31.歌德巴赫猜想
32.可逆素
33.回文素
34.要发就发
35.素幻方
36.百钱百鸡问题
37.爱因斯坦的学题
38.换分币
39.年龄几何
40.三色球问题

C/C++语言经典实用趣味程序设计编程百例精解(5)
(详解收藏在)http://www.klfd.net.cn/?p=388
41.马克思手稿中的学题
42.最大公约和最小公倍
43.分比较
44.分之和
45.将真分分解为埃及分
46.列出真分序列
47.计算分的精确值
48.新娘和新郞
49.委派任务
50.谁在说谎

C/C++语言经典实用趣味程序设计编程百例精解(6)
(详解收藏在)http://www.klfd.net.cn/?p=389
51.谁是窃贼
52.黑与白
53.迷语博士的难题(1)
54.迷语博士的难题(2)
55.哪个大夫哪天值班
56.区分旅客国籍
57.谁家孩子跑最慢
58.拉丁方阵
59.填表格
60.1~9分成1:2:3的三个3位

C/C++语言经典实用趣味程序设计编程百例精解(7)
(详解收藏在)http://www.klfd.net.cn/?p=390
61.1~9组成三个3位的平方
62.由8个整形成奇特的立方体
63.减式还原
64.乘式还原
65.乘式还原(2)
66.除式还原(1)
67.除式还原(2)
68.九位累进可除
69.魔术师的猜牌术(1)
70.魔术师的猜牌术(2)

C/C++语言经典实用趣味程序设计编程百例精解(8)
(详解收藏在)http://www.klfd.net.cn/?p=391
71.约瑟夫问题
72.邮票组合
73.和能表示1~23的5个正整
74.可称1~40磅的4块砝码
75.10个小孩分糖果
76.小明买书
77.波松瓦酒的分酒趣题
78.求π的近似值
79.求π的近似值(2)
80.奇平方的一个有趣性质

C/C++语言经典实用趣味程序设计编程百例精解(9)
(详解收藏在)http://www.klfd.net.cn/?p=392
81.角谷猜想
82.四方定理
83.卡布列克常
84.尼科彻斯定理
85.回文的形成
86.自动发牌
87.黑白子交换
88.常胜将军
89.抢30
90.搬山游戏

C/C++语言经典实用趣味程序设计编程百例精解(10)
(详解收藏在)http://www.klfd.net.cn/?p=393
91.人机猜游戏
92.人机猜游戏(2)
93.汉诺塔
94.兎子产子
95.将阿拉伯字转换为罗马
96.选美比赛
97.满足特异条件的
98.八皇后问题
99.超长正整的加法
100.字移动
C/C++语言经典实用趣味程序设计编程百例精解C/C++语言经典实用趣味程序设计编程百例精解(1)1.绘制余弦曲线 2.绘制余弦曲线和直线 3.绘制圆 4.歌星大奖赛 5.求最大 6.高次方的尾 7.阶乘尾零的个 8.借书方案知多少 9.杨辉三角形 10.制转换 C/C++语言经典实用趣味程序设计编程百例精解(2)11.打鱼还是晒网 12.抓交通肇事犯 13.该存多少钱 14.怎样存钱利最大 15.捕鱼和分鱼 16.出售金鱼 17.平分七筐鱼 18.有限5位 19.8除不尽的自然 20.一个奇异的三位C/C++语言经典实用趣味程序设计编程百例精解(3)21.4位反序 22.求车速 23.由两个平方三位获得三个平方二位 24.阿姆斯特朗 25.完全 26.亲密 27.自守 28.回文 29.求具有abcd=(ab+cd)2性质的四位 30.求素 C/C++语言经典实用趣味程序设计编程百例精解(4)31.歌德巴赫猜想 32.可逆素 33.回文素 34.要发就发 35.素幻方 36.百钱百鸡问题 37.爱因斯坦的学题 38.换分币 39.年龄几何 40.三色球问题C/C++语言经典实用趣味程序设计编程百例精解(5)41.马克思手稿中的学题 42.最大公约和最小公倍 43.分比较 44.分之和 45.将真分分解为埃及分 46.列出真分序列 47.计算分的精确值 48.新娘和新郞 49.委派任务 50.谁在说谎 C/C++语言经典实用趣味程序设计编程百例精解(6)51.谁是窃贼 52.黑与白 53.迷语博士的难题(1) 54.迷语博士的难题(2) 55.哪个大夫哪天值班 56.区分旅客国籍 57.谁家孩子跑最慢 58.拉丁方阵 59.填表格 60.1~9分成1:2:3的三个3位 C/C++语言经典实用趣味程序设计编程百例精解(7)61.1~9组成三个3位的平方 62.由8个整形成奇特的立方体 63.减式还原 64.乘式还原 65.乘式还原(2) 66.除式还原(1) 67.除式还原(2) 68.九位累进可除 69.魔术师的猜牌术(1) 70.魔术师的猜牌术(2) C/C++语言经典实用趣味程序设计编程百例精解(8)71.约瑟夫问题 72.邮票组合 73.和能表示1~23的5个正整 74.可称1~40磅的4块砝码 75.10个小孩分糖果 76.小明买书 77.波松瓦酒的分酒趣题 78.求π的近似值 79.求π的近似值(2) 80.奇平方的一个有趣性质 C/C++语言经典实用趣味程序设计编程百例精解(9)81.角谷猜想 82.四方定理 83.卡布列克常 84.尼科彻斯定理 85.回文的形成 86.自动发牌 87.黑白子交换 88.常胜将军 89.抢30 90.搬山游戏 C/C++语言经典实用趣味程序设计编程百例精解(10)91.人机猜游戏 92.人机猜游戏(2) 93.汉诺塔 94.兎子产子 95.将阿拉伯字转换为罗马字 96.选美比赛 97.满足特异条件的列 98.八皇后问题 99.超长正整的加法 100.字移动

50,526

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧