流程控制语句习题总结(二)

这次我们来说剩下的几道题,后面的题都挺简单的,让我们一起来看看吧!

 

思路分析:这道题是找n1和n2除了1以外的最大的公约数,其实步骤题目当中也给出我们了,只需按照步骤一步一步来就行了,具体来看吧。

第一步:输入两个整数n1和n2,将gcd初始化为1;

第二步:判断n1和n2的大小,再进行计算,具体过程详见代码;

第三步:编写代码。

import java.util.*;
public class Demo03_12{
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.print("输入两个数:");
        int n1 = scanner.nextInt();
        int n2 = scanner.nextInt();
        int gcd = 1;
        for(int i=n1<n2?n1:n2;i>=1;i--){
            if(n1%i==0 && n2%i==0){
                gcd = i;
                break;
            }
        }
        System.out.println(n1 + "和" + n2 + "的最大公约数是" + gcd);
    }
}

运行结果:

输入两个数:24 48
24和48的最大公约数是24
输入两个数:1 5
1和5的最大公约数是1

 

思路分析:这道题很短,其实也不难,它是让我们输入一个整数,然后升序显示它的所有最小因子,很简单,一个循环就够了,直接来看代码吧。

import java.util.*;
public class Demo03_13{
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.print("输入一个整数:");
        int num = scanner.nextInt();
        while(true){
            for(int i=2;i<=num;i++){
                if(num%i==0){
                    System.out.print(i+" ");
                    num/=i;
                    break;
                }
            }    
            if(num==1){
                break;
            } 
        }
    }
}

运行结果:

输入一个整数:120
2 2 2 3 5

 

 

第一步:行数定为line,这需要用到for循环;

第二步:紧接着我们要用循环输出空格。因为每个数字和每个数字之间都要有空格来分开;

第三步:分析每行数字之间的规律,需要用到绝对值;

第四步:编写代码。

/*
 4  3  2  1 2 3 4
-3 -2 -2  0 1 2 3
第4行 x∈[-3,3] y=|x|+1
第5行 x∈[-4,4] y=|x|+1
*/
import java.util.*;
class Demo03_14{
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter the line number:");
        int line = scanner.nextInt();
        for(int i = 1;i < line;i++){
            for(int k = 1;k<line-i;k++){
                System.out.print("    ");//每循环一次打印四个空格
            }
            for(int j=-(i-1);j<=i-1;j++){
                double a = Math.abs(j) + 1;
                System.out.printf("%4.0f",a);//格式化输出,每个数字占4个大小
            }
            System.out.println();
        }
    }
}

运行结果:

Enter the line number:8
                           1
                       2   1   2
                   3   2   1   2   3
               4   3   2   1   2   3   4
           5   4   3   2   1   2   3   4   5
       6   5   4   3   2   1   2   3   4   5   6
   7   6   5   4   3   2   1   2   3   4   5   6   7

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值