关注
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
// 若n自身就是一个完全平方数
int tempNum = (int)(Math.sqrt(n));
if (tempNum * tempNum == n) {
System.out.println(n);
return ;
}
// 键盘输入的n不是完全平方数
// 布尔变量flag标识n可否由若干个(不重复的)完全平方数相加得到
boolean flag = false;
Set<Integer> set = new HashSet<>();
while (n >= 1) {
// 对n开方
int temp = (int)(Math.sqrt(n));
if (temp * temp == n) {
// 构成n的若干完全平方数,是不允许重复的。否则也就不可能输出NA了.
// 比如n,如果允许完全平方数重复,它肯定可以由n个1相加得到,不可能输出NA
if (set.contains(n)) {
break;
}
flag = true;
}
set.add(temp * temp);
n -= temp * temp;
}
if (flag) {
List<Integer> list = new ArrayList<>(set);
// 排序
Collections.sort(list);
for (int i = 0; i < list.size(); i++) {
if (i != list.size() - 1) {
System.out.print(list.get(i) + " ");
} else {
System.out.println(list.get(i));
}
}
}
if (!flag) {
System.out.println("NA");
}
}
} 楼主可以参考下我的代码,写得不一定优雅、简洁,但我自己测试的时候,能通过绝大多数样例。 存在问题:样例输入41,我的输出是1 4 36,正确输出应该是16 25 。 我正在review代码,寻求将这个问题解决,如果有老哥看出问题所在,请指点一下,谢谢。
查看原帖
点赞 3
相关推荐
点赞 评论 收藏
转发
03-22 20:13
江苏国泰新点软件_技术研发部_Java开发工程师(准入职员工) 点赞 评论 收藏
转发
点赞 评论 收藏
转发
牛客热帖
- 1... 携程oc了3.2W
- 2... 美团-Java后端-平台技术部-一面凉经(复活赛)1.3W
- 3... 我真是一个废物,废物本废,到现在也找不到实习不管回答上来,还是没回答上来,都不会有公司要我的。。。。。。。情绪每天都在边缘游走,快抑郁了好了,emo完了,继续努力,总有眼瞎面试官能看上我的叭9679
- 4... 31天勇闯盲审(附盲审经验7370
- 5... 微信支付二面6980
- 6... 捞简历这件事儿6428
- 7... 科大讯飞Java实习凉经6152
- 8... 【话术建议】求职者和企业的互骗话术?5568
- 9... 字节抖音电商后端日常实习一二三面已oc5004
- 10... 问一下xdm 怎么把拒绝过的Offer 再舔回来🥺4744
正在热议
# 牛客帮帮团来啦!有问必答 #
677963次浏览 11202人参与
# Offer比较,你最看重什么? #
49065次浏览 478人参与
# 你会选择考研还是直接就业 #
74207次浏览 850人参与
# 市场营销面经 #
3778次浏览 111人参与
# 我的上岸简历长这样 #
159296次浏览 3169人参与
# 浅聊一下我实习的辛苦费 #
79504次浏览 735人参与
# 无实习如何秋招上岸 #
217733次浏览 3406人参与
# 投了多少份简历才上岸 #
55337次浏览 933人参与
# 科大讯飞求职进展汇总 #
35861次浏览 362人参与
# 运营面经 #
10175次浏览 259人参与
# 2022届毕业生现状 #
314597次浏览 4390人参与
# 毕业后不工作的日子里我在做什么 #
51556次浏览 685人参与
# 租房前辈的忠告 #
32403次浏览 2065人参与
# 夸夸我的求职搭子 #
63251次浏览 770人参与
# 你的简历改到第几版了 #
297972次浏览 4502人参与
# 硬件人的简历怎么写 #
77001次浏览 779人参与
# 你已经投递多少份简历了 #
288667次浏览 4365人参与
# 华为开奖那些事 #
697897次浏览 5982人参与
# 简历中的项目经历要怎么写 #
425094次浏览 7254人参与
# 我的成功项目解析 #
80660次浏览 2356人参与