「java同构数」java求同构数
今天给各位分享java同构数的知识,其中也会对java求同构数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
JAVA 同构数问题
人家定义的k=10,当i自增到等于k的时候k才赋值为原来值的10倍;
而你直接就定义k=100,那结果当然不一样了。
找出1~1000之间的全部 同构数 java
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
long i,j,k;
k=10;
for (i=1;i=1000;i++){
if (i==k) {
k*=10;
}
j=i*i;
if((j%k)==i) {
System.out.println(i+" "+j);
}
}
//System.out.println("Hello World!");
}
}
Java 同构数的问题
public class Wednesday {
public static void main(String[] args) {
long i,j,k;
k=10;
for (i=1;i=1000;i++){
if (i==k)
{
k*=10;
} //k是100了吧
j=i*i; //1*1 2*2 3*3 4*4 5*5 6*6等等。
if((j%k)==i)// j=1除以k=100的余数是1 等于i自己
{
System.out.println(i+" "+j);
}
}
}
}
public static void main(String args[]){
long i,ji,k;k=100;
for(i=1;i=1000;i++) {
ji=i*i;
if((ji%k)==i) {
System.out.println(i+" "+ji);
}
}
}
}
分析两段代码,你的代码少考虑了几种情况:
1)你的代码中k的值一直是100,没有概念,而人家的代码中,k的值先是10,所以在这之前,
i = 5时:i * i % k = 5 * 5 % 10 = 5 == i,打印
i = 6时:i * i % k = 6 * 6 % 10 = 6 == i,打印
2)当i的值变为10时,k的值变为了100:
i = 25时:i * i % k = 25 * 25 % 100 =25 == i, 打印
i = 76时:i * i % k = 76 * 76 % 100 = 76 == i, 打印
你只是考虑了中中情况
3)当i = 100,时,k = 100,此时k的值变为:k * k = 10000
i = 376时:i * i % k =376 * 376 % 10000 = 141376 % 10000 = 376 == i,打印
i = 625时:i * i % k =625 * 625 % 10000 = 390625 % 10000 = 625 == i,打印
java编程 显示100以内所有的同构数
1 - 100 之间的同构数
思想
枚举1-100的自然数,检验他平方后末尾是否包含本身。
程序
int k=10;
for (int i=1;i=100;i++){
if (i = k) k =k * 10;
int temp = (i*i) % k;
if (i == temp)
System.out.println(i);
}
输出
1
5
6
25
76
java同构数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java求同构数、java同构数的信息别忘了在本站进行查找喔。
发布于:2022-12-17,除非注明,否则均为
原创文章,转载请注明出处。