平方十位数
由0~9这10个数字不重复、不遗漏,可以组成很多10位数字。这其中也有很多恰好是平方数(是某个数的平方)。
比如:1026753849,就是其中最小的一个平方数。请你找出其中最大的一个平方数是多少?
注意:你需要提交的是一个10位数字,不要填写任何多余内容。
看了很多网上教程,很多解析,感觉做的都挺复杂的
思路:
1、先算出题目中给的最小平方数开平方之前的数,作为循环边界(后来测试可以省略)
2、让一个五位数进行遍历减减、
3、将平方数转为字符串类型判断其中是否包含0,1,2,3,4,5,6,7,8,9 包含即输出
public class Main4 {
public static void main(String[] args) {
for(long i = 100000;i >= 32043;i--){ //PS:循环条件2不要也行
long sum = i*i;
String s = sum+"";
//判断字符串内是否包含0,1,2,3,4,5,6,7,8,9
if(s.contains("0") && s.contains("1") && s.contains("2") && s.contains("3") && s.contains("4") && s.contains("5") && s.contains("6") && s.contains("7") && s.contains("8") && s.contains("9")){
System.out.println(i*i);
break;
}
}
}
}
以上是《蓝桥杯 Java B组国赛 真题 平方十位数(最简单解法)》的全部内容,
感谢您对程序员阿鑫博客的支持!
版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!