《java程序设计基础》例题4.9 do … while 的用法
用辗转相除的方法求两个整数的最大公约数
package practice;
import java.io.*;
import java.util.Scanner;
public class zz {
public static void main(String[] args) throws Exception {
int a,b,k;
String str1,str2;
BufferedReader buf;
buf = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入第一个数a=");
str1=buf.readLine(); //将输入的数据赋值给字符串变量str1
a=Integer.parseInt(str1);//将str1转成int类型数据后赋值给a
System.out.println("请输入第二个数b=");
str2=buf.readLine();//将输入的数据赋值给字符串变量str2
b=Integer.parseInt(str2); //将str2转成int类型数据后赋给b
System.out.println("gcd("+a+","+b+")=");
do {
k=a%b;
a=b;
b=k;
}while(k!=0); //若余数k不为0,则继续进行下一次循环
System.out.println(a);
}
}
例题4.10 已知s=n! ,其中n为正整数,从键盘上任意输出一个大于一的整数m,求满足s<m时的最大s及此时的n,并输出s和n
package practi