日期:2014-05-20 浏览次数:20821 次
//赛软件 * 比赛 = 软件比拼 public class Test2 { public static void main(String args[]) { int a,b,c,d,e,f; //a代表赛, b代表软, c代表件, d代表 比, e代表比, f代表拼 for(a=1;a<=9;a++) { for(b=1;b<=9;b++) { for(c=1;c<=9;c++) { for(d=1;d<=9;d++) { for(e=1;e<=9;e++) { for(f=1;f<=9;f++) { int n1 = a*100+b*10+c; int n2 = d*10+a; int n3 = b*1000+c*100+e*10+f; if(n3 == n1*n2) { System.out.println(a+" "+b+" "+c+" "+d+" "+e+" "+f); System.out.println("n1="+n1+" n2="+n2+" n3="+n3); } } } } } } } } }
------解决方案--------------------
第二个我个人感觉有点难 我想想再说吧~~~
------解决方案--------------------
第一题 [100~999] * [10~99] = ???? 算出所有不超过四位数的结果,然后枚举。141559103
------解决方案--------------------
没看清 不考虑0, [100~999] * [10~99] = ???? 算出所有不超过四位数的结果,筛选出不含0的,然后枚举。算法复杂度不高嘛
------解决方案--------------------
第二题 依旧是枚举啊,估计你做的是枚举的专题,自己多想想吧
------解决方案--------------------
public class Test
{
public static void main(String[] args)
{
/**
* abc*da=bcde
* 若找到满足这样的等式的数,就将其输出
*/
int m1,m2,m3;
int x1,x2,x3,x4;
for(int a=1;a<=9;a++)
{
for(int b=1;b<=9;b++)
{
for(int c=1;c<=9;c++)
{
for(int d=1;d<=9;d++)
{
m1=a*100+b*10+c;
m2=d*10+a;
m3=m1*m2;
x1=m3%10;
x2=m3/10%10;
x3=m3/100%10;
x4=m3/1000;
if(x4==b&&x3==c&&x2==d)
{
System.out.println(m1+"*"+m2+"="+m3);
}
}
}
}
}
}
}
------解决方案--------------------