目录
- class ForNumber{
- public static void main(String[] args){
- for(int i =1; i<=150; i++){
- System.out.print(i + " ");
- if(i % 3 == 0){System.out.print("foo ");}
- if(i % 5 == 0){System.out.print("biz ");}
- if(i % 5 == 0){System.out.print("baz ");}
- //换行
- System.out.println();}
- }
- }
比如:12和20的最大公约数是4,最小公倍数是60。 说明:break关键字的使用
- // 最大公约数:从m,n中较小的那个数开始循环递减,直到能同时整除m和n
- // 最小公倍数:从m,n中较大的那个数开始循环递增,直到可以同时被m和n整除,输出最小公倍数
-
- import java.util.Scanner;
- public class Convention_multiples{
- public static void main(String[] args){
- Scanner scan = new Scanner(System.in);
- System.out.println("请输入第一个正整数m: ");
- int m = scan.nextInt();
- System.out.println("请输入第二个正整数n: ");
- int n = scan.nextInt();
-
- //获取两个数的较小值-穷举法
- int min = (m <= n)? m :n;
- for(int i = min; i>=1; i--){
- if (m % i == 0 && n % i == 0){
- System.out.print("最大公因数为: " + i);
- break; //一旦在循环中执行到break,就跳出循环
- }
- }
-
- //获取两个数的较大值-穷举法
- int max = (m >= n)? m :n;
- for(int i = max; i <= m*n ; i++){
- if (i % m == 0 && i % n == 0){
- System.out.print("最小公倍数为: " + i);
- break; //一旦在循环中执行到break,就跳出循环
- }
- }}
- }
- // 最大公约数:从m,n中较小的那个数开始循环递减,直到能同时整除m和n
- // 最小公倍数:从m,n中较大的那个数开始循环递增,直到可以同时被m和n整除,输出最小公倍数
- // 辗转相除法也叫欧几里得算法:
- //实际,m,n只要余数不是0,
- //那么下一个式子就变成上一个式子的除数作为下一个的被除数,上一个余数变为下一个的除数。
- // 两个数的最小公倍数是两个数的积除以这两个数的最大公约数。
-
- import java.util.Scanner;
- public class Convention_multiples{
- public static void main(String[] args){
- Scanner scan = new Scanner(System.in);
- System.out.println("请输入第一个正整数m: ");
- int m = scan.nextInt();
- System.out.println("请输入第二个正整数n: ");
- int n = scan.nextInt();
-
- int p = divisor( m, n);
- System.out.println("最小公倍数为" + m*n/p);
- }
-
- public static int divisor(int m, int n){
- if (n > m){
- int temp = m;
- m = n;
- n = temp;} // 确保大数%小数,m为大,n为小
- if(m % n == 0){
- System.out.print("最大公因数为" + n);
- return n;}
- else{return divisor(n, m%n);}
- }
- }
-
- class ForTest {
- public static void main(String[] args) {
-
- int sum = 0;//记录所有偶数的和
- int count = 0;//记录偶数的个数
- for(int i = 1;i <= 100;i++){
- if(i % 2 == 0){
- System.out.println(i);
- sum += i;
- count++;
- }
- //System.out.println("总和为:" + sum);
- }
-
- System.out.println("总和为:" + sum);
- System.out.println("个数为:" + count);
- }
- }
- //do-while循环的使用
-
- class DoWhileTest {
- public static void main(String[] args) {
-
- //遍历100以内的偶数,并计算所有偶数的和及偶数的个数
- int num = 1;
- int sum = 0;//记录总和
- int count = 0;//记录个数
- do{
-
- if(num % 2 == 0){
- System.out.println(num);
- sum += num;
- count++;
- }
-
- num++;
-
- }while(num <= 100);
-
-
- System.out.println("总和为:" + sum);
- System.out.println("个数为:" + count);
-
- //*************体会do-while至少执行一次循环体***************
- int number1 = 10;
- while(number1 > 10){
- System.out.println("hello:while");
- number1--;
- }
-
- int number2 = 10;
- do{
- System.out.println("hello:do-while");
- number2--;
- }while(number2 > 10);
-
- }
- }
- class AriExer {
- public static void main(String[] args) {
-
- for(int i = 0 ; i<= 999; i++){
- int bai = i / 100;
- int shi = i % 100 / 10;//int shi = num / 10 % 10;
- int ge = i % 10;
- int sum = bai*bai*bai+shi*shi*shi+ge*ge*ge;
- if (sum == i){System.out.println(i );}
- }
- }
- }