技术树基础——16排它平方数(Bigdecimal,int,string,数组的转换)
创始人
2024-05-25 09:33:00
0

题目:

03879 * 203879 = 41566646641

这有什么神奇呢?仔细观察,203879 是个6位数,并且它的每个数位上的数字都是不同的,并且它平方后的所有数位上都不出现组成它自身的数字。

具有这样特点的6位数还有一个,请你找出它!

再归纳一下筛选要求:

  1. 6位正整数

  1. 每个数位上的数字不同

  1. 其平方数的每个数位不含原数字的任何组成数位

分析:

仔细分析题目,我们得知两个点,

1,这个六位数的每一位数都不一样

2,这个六位数的平方的每位数字跟六位数的每位数字都不一样

那么我们就可以建一个遍历最小六位数到最大六位数的循环,建两个嵌套的if,第一个if用来判断1,第二个if用来判断2。

第一个if需要把int转数组并赋值,然后进行循环比较如果没有相等的直接进入第二个if

第二个if参考值一个是六位数,一个是六位数的平方。

六位数的平方先转为字符串,然后建一个数组并遍历赋值,六位数也是转为字符串,然后建一个数组并遍历赋值。两个数组出来了,然后两个嵌套循环进行比对

解析:

注意:因为六位数平方很大,我们需要建Bigdecimal来表示数字

package 刷提210;import java.math.BigDecimal;public class 排他平方数 {public static void main(String[] args) {for (int i = 100000; i < 1000000; i++) {if (!panduan(i)) {//第一个判断,判断在所有可能中,自身所有的位数不重复BigDecimal six = new BigDecimal(i);//表示六位数String six2 = six.multiply(six).toString();//表示六位数的平方if (!panduan2(six2, six)) {//第二个判断,满足第一个判断的情况,六位数跟他的平方没有重复的System.out.println(six);}}}}public static boolean panduan(int num) {int[] store = new int[6];//长度为6数组String midStr = String.valueOf(num);//Int转为stringfor (int i = 0; i < midStr.length(); i++) {//把字符串遍历到数组里store[i] = midStr.charAt(i);}for (int i = 0; i < store.length; i++) {//两个循环用来判断自身有没有重复数值for (int j = i+1; j < store.length; j++) {if (store[i] == store[j]) {return true;}}}return false;}public static boolean panduan2(String str, BigDecimal num) {int[] PingStore = new int[str.length()];for (int i = 0; i < str.length(); i++) {//把string建数组并遍历赋值PingStore[i] = str.charAt(i);}String numStr = num.toString();//把BigDecimal转为stringint[] midNum = new int[6];for (int i = 0; i < numStr.length(); i++) {//建一个长度为6的数组并把string的每个数值遍历赋值midNum[i] = numStr.charAt(i);}for (int i = 0; i < 6; i++) {for (int j = 0; j < PingStore.length; j++) {//六位数跟他的平方数组进行比较只要有一个重复直接结束if (midNum[i] == PingStore[j]) {return true;}}}return false;}}

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...