17-12-1

作業一:

題目:
現有1角 2角 5角
湊出兩元
有哪些可能
例如:
0,0,4
0,5,2
0,10,0
作業:
#include<stdio.h>
int main()
{
    int i,j,k,sum=0;//定義ijk,用來表示一角,兩角,五角要用到的張數
                    //sum記錄一共多少方法 
    for(i=0;i<=20/1;i++){//i的取值范圍為0~20 
        for(j=0;j<=20/2;j++){//j的取值范圍為0~10 
            for(k=0;k<=20/5;k++){//k的取值范圍為0~4 
                if(i+2*j+5*k==20){//判斷循環結果相加是否為20 
                sum++; //每循環一次,方法就加一 
                printf("%d %d %d\n",i,j,k);//最后輸出可以用到的紙張數 
                } 
            }
        }
    }
    printf("共有%d組合方法",sum);
    return 0;
}

作業二:

題目:用戶輸入兩個數,程序輸出它們的最大公約數
作業:
方法一:
#include<stdio.h>//最大公約數:一個數既能整除A,又能整除B 
int main(){     //碾轉相除法 
    int x,y,X,i,I;
    printf("請輸入兩個整數:");
    scanf("%d %d",&x,&y);
    X=x;    //保持x的初始值 
    if(x<y){//判斷x與y的大小 
        x=y;//如果x<y,將y的值賦給x 
        y=X;//將X(即x的初始值)賦給y 
    }
    for(i=2;i<=y;i++){      //1是所有整數的公約數;i必須<=兩者之中的最小數; 
        if(x%i==0&&y%i==0){ //i既能整除x,又能整除y,即:x和y對i分別取余=0 
            I=i;            //防止出現3,5之類的數 
        }
    }
    printf("最大公約數為:%d",I);
    return 0;
}
作業:
方法二:
#include<stdio.h>
int main(){     //相減法 
    int x,y,X,Y;
    printf("請輸入兩個整數:");
    scanf("%d %d",&x,&y);
    X=x;        //確定x,y的初始值 
    Y=y;
    for(;x!=y;){//判斷x與y的值是否相等 
        if(x>y){//如果x>y,那么將x-y的值賦給x,然后繼續比較x與y的值是否相等; 
            x=x-y;
        }else{  //如果x<y,那么將y-x的值賦給y,然后繼續比較x與y的值是否相等; 
            y=y-x;
        }//直到減到x與y的值相等后,結束循環,則最后減到相等的x和y就是最大公約數 
    }
    printf("最大公約數為:%d",x);
} 

自我拓展:

題目:求兩個數的最小公倍數
作業:最小公倍數=兩整數的乘積÷最大公約數
#include<stdio.h>//最大公約數:一個數既能整除A,又能整除B 
                //最小公倍數:一個數既能被A整除,又能被B整除 
int main(){     //碾轉相除法 
    int x,y,X,i,I,m;
    printf("請輸入兩個整數:");
    scanf("%d %d",&x,&y);
    X=x;    //保持x的初始值 
    if(x<y){//判斷x與y的大小 
        x=y;//如果x<y,將y的值賦給x 
        y=X;//將X(即x的初始值)賦給y 
    }
    for(i=2;i<=y;i++){      //1是所有整數的公約數;i必須<=兩者之中的最小數; 
        if(x%i==0&&y%i==0){ //i既能整除x,又能整除y,即:x和y對i分別取余=0 
            I=i;            //防止出現3,5之類的數 
        }
    }
    printf("最大公約數為:%d\n最小公倍數為:%d",I,m=(x*y)/I);
        //最小公倍數=兩數的乘積除以最大公約數 
    return 0;
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容