摩爾的Java學習筆記1.4
第一週作業:
1、輸出一行文字;
2、輸入一個字符串,判斷其中字母、數字、其他字符的個數;
3、編程實現從鍵盤依次輸入姓名(字符串)、年齡(整型)、性別(字符)和成績(浮點型),然後依次顯示上述內容;4、輸入整數m和n,求其最大公約數和最小公倍數;
5、輸入若干個整數,求其最大值、最小值和平均值;
6、求出自然數101~199中的所有素數;7、順序輸出1到100之間所有能被7整除的整數;
8、已知2000.1.1是星期六,根據任意給定的日期(2000年以後的),請編程計算出該天是星期幾;
9、猜數遊戲,隨機生成一個整數(0-100),用戶輸入他所猜的數,程序回答大了或者小了,用戶再輸入他所猜的數,直至猜對了爲止。
4、輸入整數m和n,求其最大公約數和最小公倍數;
//薛蓮婷
//輸入整數m和n,求其最大公約數和最小公倍數(3種方法求最大公約數)
import java.util.Scanner;
class Assignment3 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("請輸入整數m和n:");
int m=sc.nextInt();
int n=sc.nextInt();
int m0=m; //存放m的原值
int n0=n; //存放n的原值
if(m<n) //保證m>=n
{
int temp=m;
m=n;
n=temp;
}
//輾轉相除法(歐幾里德算法)
int r; //r是餘數
while((r=m%n)!=0)
{
m=n;
n=r;
}
/* //更相減損法(等值算法)
int d; //d是差
while((d=m-n)!=0)
{
if(d>n)
{
m=d;
}
else
{
m=n;
n=d;
}
}
//短除法
int min=1; //存放最大公約數
for(int i=2;i<=n;i++)
{
while((m%i==0)&&(n%i==0))
{
m/=i;
n/=i;
min*=i;
}
}
n=min; //在這個程序中,爲了三種方法的輸出語句的一致性考慮,用此句使n的值等於最大公約數
*/
System.out.println("最大公約數是:"+n+"\n最小公倍數是:"+(m0*n0/n));
sc.close();
}
}