求个位、十位、百位上的数字

本文介绍了一个Java程序,该程序通过遍历200到300之间的所有整数来找出个位、十位和百位数字的乘积为42且相加和为12的三位数。程序使用了随机数生成和循环结构。
public class Dasanyuan {
	public static void main(String[] args){
		//定义变量ge、shi、bai,用于存放个位、十位、百位上的数字
        int ge ;
        int shi;
        int bai;
        int max=300;
        int min=200;
        Random random = new Random();
        int s = random.nextInt(max)%(max-min+1) + min;
		//使用for循环
		for(;s>200&s<300;s++)
        {
			//取出百位数
		    bai = s%1000/100;
			//取出十位数
			shi = s%100/10;
			//取出个位数
		    ge = s%10;
			//计算三个数字之积
            int ji = bai*shi*ge;
			//计算三个数字之和
			int he = bai+shi+ge;
            //如果积等于42并且和为12,则将满足条件的数输出
        if(ji == 42 & he == 12){
            System.out.print(bai);
            System.out.print(shi);
            System.out.println(ge);
          }
        }
    }
}

运行结果:

237
273

下面分别给出使用 C 语言和 Python 实现输入三个三位数,计算它们个位十位百位数字之和的代码。 ### C 语言实现 ```c #include <stdio.h> int main() { int num1, num2, num3; int unit_sum = 0, decade_sum = 0, hunder_sum = 0; // 输入三个三位数 scanf("%d %d %d", &num1, &num2, &num3); // 计算第一个数的个位十位百位 int unit1 = num1 % 10; int decade1 = num1 % 100 / 10; int hunder1 = num1 / 100; // 计算第二个数的个位十位百位 int unit2 = num2 % 10; int decade2 = num2 % 100 / 10; int hunder2 = num2 / 100; // 计算第三个数的个位十位百位 int unit3 = num3 % 10; int decade3 = num3 % 100 / 10; int hunder3 = num3 / 100; // 计算个位十位百位数字之和 unit_sum = unit1 + unit2 + unit3; decade_sum = decade1 + decade2 + decade3; hunder_sum = hunder1 + hunder2 + hunder3; // 输出结果 printf("个位数字之和: %d\n", unit_sum); printf("十位数字之和: %d\n", decade_sum); printf("百位数字之和: %d\n", hunder_sum); return 0; } ``` ### Python 实现 ```python # 输入三个三位数 num1 = int(input()) num2 = int(input()) num3 = int(input()) # 计算第一个数的个位十位百位 unit1 = num1 % 10 decade1 = (num1 // 10) % 10 hunder1 = num1 // 100 # 计算第二个数的个位十位百位 unit2 = num2 % 10 decade2 = (num2 // 10) % 10 hunder2 = num2 // 100 # 计算第三个数的个位十位百位 unit3 = num3 % 10 decade3 = (num3 // 10) % 10 hunder3 = num3 // 100 # 计算个位十位百位数字之和 unit_sum = unit1 + unit2 + unit3 decade_sum = decade1 + decade2 + decade3 hunder_sum = hunder1 + hunder2 + hunder3 # 输出结果 print(f"个位数字之和: {unit_sum}") print(f"十位数字之和: {decade_sum}") print(f"百位数字之和: {hunder_sum}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值