黑马程序员技术交流社区
标题:
遇到的小习题
[打印本页]
作者:
崔小旭
时间:
2014-9-24 12:22
标题:
遇到的小习题
请输出满足这样条件的五位数,并统计有多少个
10000-99999
个位=万位
十位=千位
个位+十位+千位+万位=百位
11411
作者:
java_dream
时间:
2014-9-24 13:05
如下代码:
package test;
import java.util.ArrayList;
import java.util.List;
/**
* 请输出满足这样条件的五位数,并统计有多少个
* 10000-99999
个位=万位
十位=千位
个位+十位+千位+万位=百位
11411
* @author java-dream
*
*/
public class Test1 {
public static void main(String[] args){
int number = 10000;//初始值
List<Integer> numBarrel = new ArrayList<Integer>();//用于存放符合条件的数字
while(number<100000){//number每次递增1,如果number还是五位数,则判断是否符合条件
int n = 1;
int index = 0;
int[] barrel = new int[5];//该数组用于存放number数值各个位置的数值
while(number/n>=1){
barrel[index++] = (number/n)%10;//获取number个位、十位、百位、千位、万位的数值,
//并保存到barrel数组
n *= 10;
}
//判断number是否符合条件
if(barrel[0]==barrel[4] && (barrel[1]==barrel[3])
&& (barrel[0]+barrel[1]+barrel[3]+barrel[4])==barrel[2]){
numBarrel.add(number);
}
number++;
}
System.out.println(numBarrel);
}
}
复制代码
输出结果:
[10201, 11411, 12621, 13831, 20402, 21612, 22822, 30603, 31813, 40804]
复制代码
作者:
SmallRooker
时间:
2014-9-24 15:32
顶一下子,然后在水一下,有些日子没有上来了,打个招呼!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2