有一个四位数字,前两位相同,后两位相同,同时这四位数字是一个数的平方,求该四数是什么. 算法编程题:有一个四位数字,前两位相同,后两位相同,同时这四位数字是一个数的平方,求该四数是什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public class Test1 { public static void main(String[] args) { int[] a = { 1, 4, 9, 6, 5 }; for (int i = 1; i <= 9; i++) for (int j = 0; j < a.length; j++) { int x = i * 1100 + a[j] * 11; int sqrtX = (int) Math.sqrt(x); if (sqrtX * sqrtX == x) System.out.println(x + "=" + sqrtX + "*" + sqrtX); } }}output:7744=88*88 class test{ public static void main(String[] args){ String str[]={"11","22","33","44","55","66","77","88","99"}; String str1; int i,j,k,s; for(i=0;i<str.length;i++){ for(j=0;j<str.length;j++){ str1=str[i]+str[j]; k=Integer.parseInt(str1); s=(int)Math.sqrt(k); if(s*s==k){ System.out.println(k+"="+s+"*"+s);} } } }} package com;public class FindNum { /** * @param args */ public static void main(String[] args) { int num = 0; for(int i=32;i<100;i++){ num = i*i; String numStr = num+""; if(numStr.substring(0,1).equals(numStr.substring(1,2))&&numStr.substring(2,3).equals(numStr.substring(3))){ System.out.println(numStr); } } }} 我也贴一个吧for(int i=32;i<100;i++){ int a = i*i; if(a%11==0&&a/100%11==0){ System.out.println(a); }} 除非用数论中的同余,二次剩余定理,那个n*n mod p, p为素,那个余数是杨辉三角(pascal三角)那个,可以用少有的步骤,直接算出结果。那是初中做奥数时的训练题。但是,你要的是计算机算法吧?不是为了解决数学问题,对吧?所以我觉得我的最多50次循环的算法,应该可以满足要求。 Jquery 怎样对同一名称的多个表单进行验证 关于struts1和struts2的区别 关于weblogic配置多服务器集群的问题 select onchange 某外资公司急聘:高级JAVA工程师(上海) 在我的Tomcat中为什么配置好的虚拟路径会在一段时间后自动失效.还要我手动再启动一次? 能不能帮我解决一下下面的问题!ORA-01000: 超出打开游标的最大数 关于webservice发布的问题 java实现两张图片合成一张图片并保存文件 Hql语句问题 div制作强大的。。。(点进去在看!) 为什么用jsmooth将jar文件转成的exe文件无法正常运行?
public class Test1 { public static void main(String[] args) {
int[] a = { 1, 4, 9, 6, 5 };
for (int i = 1; i <= 9; i++)
for (int j = 0; j < a.length; j++) {
int x = i * 1100 + a[j] * 11;
int sqrtX = (int) Math.sqrt(x);
if (sqrtX * sqrtX == x)
System.out.println(x + "=" + sqrtX + "*" + sqrtX);
}
}
}
output:
7744=88*88
class test
{
public static void main(String[] args){
String str[]={"11","22","33","44","55","66","77","88","99"};
String str1;
int i,j,k,s;
for(i=0;i<str.length;i++){
for(j=0;j<str.length;j++){
str1=str[i]+str[j];
k=Integer.parseInt(str1);
s=(int)Math.sqrt(k);
if(s*s==k){
System.out.println(k+"="+s+"*"+s);}
}
}
}
}
* @param args
*/
public static void main(String[] args) {
int num = 0;
for(int i=32;i<100;i++){
num = i*i;
String numStr = num+"";
if(numStr.substring(0,1).equals(numStr.substring(1,2))&&numStr.substring(2,3).equals(numStr.substring(3))){
System.out.println(numStr);
}
}
}}
for(int i=32;i<100;i++){
int a = i*i;
if(a%11==0&&a/100%11==0){
System.out.println(a);
}
}
除非用数论中的同余,二次剩余定理,那个n*n mod p, p为素,那个余数是杨辉三角(pascal三角)那个,可以用少有的步骤,直接算出结果。那是初中做奥数时的训练题。但是,你要的是计算机算法吧?不是为了解决数学问题,对吧?
所以我觉得我的最多50次循环的算法,应该可以满足要求。