本帖最后由 Jason996 于 2014-12-16 23:38 编辑
/* 第三题:(优化的代码,是一位老程序员的编程思想)
请输出满足这样条件的五位数。
个位=万位
十位=千位
个位+十位+千位+万位=百位
思路:
1,根据以上给定条件,构造一个数。
2,个位和万位只能用1-9的数字表示,用for循环
2,十位和千位能用0-9的数字表示,在for循环里再嵌套一个for.
3,注意,百位是个、十、千、万位相加,有可能大于10,而百位只能是0-9,所以必须有一个if判断。
4,好处,这个方法只需运行90次。
*/
int gewei, shiwei, baiwei, qianwei, wanwei;
int num;
int count = 0;
int count2 = 0;
for (gewei = 1; gewei <= 9; gewei++ )
{
wanwei = gewei;
for (shiwei = 0; shiwei <= 9; shiwei++)
{
qianwei = shiwei;
baiwei = gewei + shiwei + qianwei + wanwei;
count++;
if (baiwei <= 9)
{
num = wanwei * 10000 + qianwei * 1000 + baiwei * 100 + gewei;
System.out.println(num);
count2++;
}
}
}
System.out.println("count = "+count+"\n"+"count2 = "+count2);
}
}
|
|