• 【JAVA-C】流程控制 for 编程题


    目录

    1.编写程序从1循环到150,并在每行打印一个值

    2. 输入两个正整数m和n,求其最大公约数和最小公倍数。

    3.遍历100以内的偶数,输出所有偶数的和,输出偶数的个数

    4.输出999中所有的水仙花数


    1.编写程序从1循环到150,并在每行打印一个值

    • 在每个3的倍数行上打印出“foo”,
    • 在每个5的倍数行上打印“biz”,
    • 在每个7的倍数行上打印输出“baz”。
    1. class ForNumber{
    2. public static void main(String[] args){
    3. for(int i =1; i<=150; i++){
    4. System.out.print(i + " ");
    5. if(i % 3 == 0){System.out.print("foo ");}
    6. if(i % 5 == 0){System.out.print("biz ");}
    7. if(i % 5 == 0){System.out.print("baz ");}
    8. //换行
    9. System.out.println();}
    10. }
    11. }

    2. 输入两个正整数mn,求其最大公约数和最小公倍数。

    • 比如:1220的最大公约数是4,最小公倍数是60说明:break关键字的使用

    1. // 最大公约数:从m,n中较小的那个数开始循环递减,直到能同时整除m和n
    2. // 最小公倍数:从m,n中较大的那个数开始循环递增,直到可以同时被m和n整除,输出最小公倍数
    3. import java.util.Scanner;
    4. public class Convention_multiples{
    5. public static void main(String[] args){
    6. Scanner scan = new Scanner(System.in);
    7. System.out.println("请输入第一个正整数m: ");
    8. int m = scan.nextInt();
    9. System.out.println("请输入第二个正整数n: ");
    10. int n = scan.nextInt();
    11. //获取两个数的较小值-穷举法
    12. int min = (m <= n)? m :n;
    13. for(int i = min; i>=1; i--){
    14. if (m % i == 0 && n % i == 0){
    15. System.out.print("最大公因数为: " + i);
    16. break; //一旦在循环中执行到break,就跳出循环
    17. }
    18. }
    19. //获取两个数的较大值-穷举法
    20. int max = (m >= n)? m :n;
    21. for(int i = max; i <= m*n ; i++){
    22. if (i % m == 0 && i % n == 0){
    23. System.out.print("最小公倍数为: " + i);
    24. break; //一旦在循环中执行到break,就跳出循环
    25. }
    26. }}
    27. }
    1. // 最大公约数:从m,n中较小的那个数开始循环递减,直到能同时整除m和n
    2. // 最小公倍数:从m,n中较大的那个数开始循环递增,直到可以同时被m和n整除,输出最小公倍数
    3. // 辗转相除法也叫欧几里得算法:
    4. //实际,m,n只要余数不是0,
    5. //那么下一个式子就变成上一个式子的除数作为下一个的被除数,上一个余数变为下一个的除数。
    6. // 两个数的最小公倍数是两个数的积除以这两个数的最大公约数。
    7. import java.util.Scanner;
    8. public class Convention_multiples{
    9. public static void main(String[] args){
    10. Scanner scan = new Scanner(System.in);
    11. System.out.println("请输入第一个正整数m: ");
    12. int m = scan.nextInt();
    13. System.out.println("请输入第二个正整数n: ");
    14. int n = scan.nextInt();
    15. int p = divisor( m, n);
    16. System.out.println("最小公倍数为" + m*n/p);
    17. }
    18. public static int divisor(int m, int n){
    19. if (n > m){
    20. int temp = m;
    21. m = n;
    22. n = temp;} // 确保大数%小数,m为大,n为小
    23. if(m % n == 0){
    24. System.out.print("最大公因数为" + n);
    25. return n;}
    26. else{return divisor(n, m%n);}
    27. }
    28. }

    3.遍历100以内的偶数,输出所有偶数的和,输出偶数的个数

    1. class ForTest {
    2. public static void main(String[] args) {
    3. int sum = 0;//记录所有偶数的和
    4. int count = 0;//记录偶数的个数
    5. for(int i = 1;i <= 100;i++){
    6. if(i % 2 == 0){
    7. System.out.println(i);
    8. sum += i;
    9. count++;
    10. }
    11. //System.out.println("总和为:" + sum);
    12. }
    13. System.out.println("总和为:" + sum);
    14. System.out.println("个数为:" + count);
    15. }
    16. }
    1. //do-while循环的使用
    2. class DoWhileTest {
    3. public static void main(String[] args) {
    4. //遍历100以内的偶数,并计算所有偶数的和及偶数的个数
    5. int num = 1;
    6. int sum = 0;//记录总和
    7. int count = 0;//记录个数
    8. do{
    9. if(num % 2 == 0){
    10. System.out.println(num);
    11. sum += num;
    12. count++;
    13. }
    14. num++;
    15. }while(num <= 100);
    16. System.out.println("总和为:" + sum);
    17. System.out.println("个数为:" + count);
    18. //*************体会do-while至少执行一次循环体***************
    19. int number1 = 10;
    20. while(number1 > 10){
    21. System.out.println("hello:while");
    22. number1--;
    23. }
    24. int number2 = 10;
    25. do{
    26. System.out.println("hello:do-while");
    27. number2--;
    28. }while(number2 > 10);
    29. }
    30. }

    4.输出999中所有的水仙花数

    • 所谓水仙花数是指一个3位数,其各个位上数 字立方和等于其本身。
    • 例如: 153 = 1*1*1 + 3*3*3 + 5*5*5
    1. class AriExer {
    2. public static void main(String[] args) {
    3. for(int i = 0 ; i<= 999; i++){
    4. int bai = i / 100;
    5. int shi = i % 100 / 10;//int shi = num / 10 % 10;
    6. int ge = i % 10;
    7. int sum = bai*bai*bai+shi*shi*shi+ge*ge*ge;
    8. if (sum == i){System.out.println(i );}
    9. }
    10. }
    11. }

  • 相关阅读:
    Java项目硅谷课堂学习笔记-P9-整合网关与实现订单和营销管理模块
    径向基函数RBF神经网络相关函数设置
    【langchain手把手2】构造Prompt模版
    B053 项目部署
    【C++ Primer Plus学习记录】复合类型总结
    全局Ceph节点宕机处理
    MySQL零基础从入门到精通(事务篇)
    《精神与爱欲》爱源于母性,且超越性别
    【银河麒麟V10】【桌面】火狐浏览器设置主页不生效
    【JAVA】日志打印java.util.logging.*函数自定义格式,并且显示调用时行号
  • 原文地址:https://blog.csdn.net/MengYa_Dream/article/details/126772237