老师这道题的思路是什么啊 没有一点头绪

老师这道题的思路是什么啊 没有一点头绪

老师这道题的思路是什么啊 没有一点头绪

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

6回答
认真太累 2019-02-19 22:20:26

public class LoopDemo {

    public static void main(String[] args) {

    //求出200到300之间的数,且满足条件:它们三个数字之积为42,三个数字之和为12。

//定义变量ge、shi、bai,用于存放个位、十位、百位上的数字

        int ge=0,shi=0,bai=0,x=0,sum=0;

//使用for循环

        for(int i=200;i<=300;i++)

        {

//取出百位数

        bai=i/100;

//取出十位数

shi=i%100/10;

//取出个位数

ge=i%100%10;

//计算三个数字之积

            x=ge*shi*bai;

//计算三个数字之和

sum=ge+shi+bai;

            //如果积等于42并且和为12,则将满足条件的数输出

if(x==42 && sum==12){

System.out.println("满足的数为:"+i);

}

        }

}

}


宝慕林0526976 2019-02-19 00:07:10

别人的回答已经很详细了都没让你采纳,不知我这样一步步写给你看懂不懂

/*

 * 问题:编写一个程序,求出200到300之间的数,且满

 * 足条件:它们三个数字之积为42,三个数字之和为12。

 */

public class FindNumDemo {

public static void main(String args[]) {

int bai;//定义变量存放百位的数字

int shi;//定义变量存放十位的数字

int ge;//定义变量存放个位的数字

int ji;//定变量存放三个数的积

int sum;//定义变量存放三个数的和

int num;//num为这个三位数

//循环遍历200到300之间的数

for(num=200;num<300;num++) {

//提取num的百位数

bai = num/100;

//提取num的十位数

shi = num%100/10;

//提取num的个位数

ge = num%10;

//计算三个数字的积

ji = ge*shi*bai;

//计算三个数的和

sum = ge+shi+bai; 

//如果积为42,且和为12,把num输出

if(ji==42&&sum==12) {

System.out.println(num);

}

}

}

}



dialecty 2019-02-15 21:56:42

public class LoopDemo {

    public static void main(String[] args) {

//定义变量ge、shi、bai,用于存放个位、十位、百位上的数字

//使用for循环

for(int bai=2;bai<3;bai++)

        {

//取出百位数

    bai=bai;

        for(int shi=0;shi<=9;shi++){

    //取出十位数

    shi=shi;

    //取出个位数

            for(int ge=0;ge<=9;ge++){

                ge=ge;

                

                //计算三个数字之积

                        int total=ge*shi*bai;

            //计算三个数字之和

            int sum=ge+shi+bai;

                        //如果积等于42并且和为12,则将满足条件的数输出

                        if(total==42&sum==12){

                           System.out.println(bai*100+shi*10+ge); 

                        }

                            

                }

            }

        }

}

}


苦难人间 2019-02-11 18:54:34

 public static void main(String[] args) {

        for(int g=0,s=0,b=2;b<=3;g++)
        {
        while(g==10){
            s++;
            g=0;
        }
        while(s==9){
            b+=1;
        }    
        int sum=g+s+b;
        int che=g*s*b;
        if(sum==12&&che==42)
        System.out.println(""+b+s+g);        
        }
    }

  • 之前发的有点问题,这是修改后的。 public static void main(String[] args) { //定义变量ge、shi、bai,用于存放个位、十位、百位上的数字 for(int g=0,s=0,b=2;b<=3;g++)//使用for循环 { while(g==10){ s++; g=0; } while(s==10){ s=0; b+=1; } int sum=g+s+b; int che=g*s*b; if(sum==12&&che==42) System.out.println(""+b+s+g); } }
    2019-02-11 18:58:40
临南 2019-01-18 17:00:46
irista23 2018-12-23 13:22:35

1、循环遍历200到300之间的整数

你可以使用for循环,i从200开始,到300结束

2、分别取出个位、十位和百位上的数

可以参考如下

个位i%10,十位i/10%10,百位i/100%10

3、求三个数字的和与积

就把2中得到的值,分别用变量存起来,计算三个变量的和和乘机

4、 判断三个数字的积是否为42,三个数字的和是否为12,如果满足条件则输出该数

使用if条件判断3中得到的和和乘机,条件成立就直接输出


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师