/*
3.分析以下需求,并用代码实现:
(1)按照从大到小的顺序输出四位数中的(个位+百位)=(十位+千位)(3553,2332,1166,8228,3773)的数字及个数
(2)每行输出5个满足条件的数,之间用空格分隔
(3)如:9999 9988 9977 9966 9955
分析:
定义一个变量记录满足条件的数字个数,初始化值为 0
定义一个变量记录一行输出数字的个数,初始化值为 0
从大到小的顺序操作四位数,所以循环可以从 9999 - 10000 进行
在循环体中提取出四位数的各个位置上的数字
进行条件判断:(个位+百位)=(十位+千位)
记录++
输出个数++
输出这个满足条件的数字
如果记录输出数字个数的数 >= 5
记录输出数字的数归 0
输出一个换行符
输出满足条件的个数
*/
class Demo3 {
public static void main(String[] args) {
int num = 0; //记录满足条件的数字个数
int count = 0; //记录一行输出数字的个数
for (int i = 9999;i >= 1000 ;i-- ) {
int tho = i / 10 / 10 / 10 % 10; //千位
int hun = i / 10 / 10 % 10; //百位
int ten = i / 10 % 10; //十位
int sin = i % 10; //个位
if ((sin + hun) == (ten + tho)) {
num++;
count++;
System.out.print(i + " ");
if (count >= 5) {
count = 0;
System.out.println();
}
}
}
System.out.println("---------------------------");
System.out.println("四位数中的(个位+百位)=(十位+千位)的数字个数有:" + num + "个。");
}
}
|