標籤:華為機試練習題
題目
描述:
輸入2個數字,最後輸出2個數位最大公約數
題目類別:
位元運算
難度:
初級
已耗用時間限制:
無限制
記憶體限制:
無限制
階段:
入職前練習
輸入:
2個整數
輸出:
輸出數字1和2的最大公約數
範例輸入:
2 3
範例輸出:
1
代碼
/*---------------------------------------* 日期:2015-07-05* SJF0115* 題目:最大公約數* 來源:華為機試練習題-----------------------------------------*/#include <iostream>#include <vector>using namespace std;// 最大公約數int GCD(int a,int b){ if(b == 0){ return a; }//if return GCD(b,a%b);}int main(){ int a,b; //freopen("C:\\Users\\Administrator\\Desktop\\c++.txt","r",stdin); while(cin>>a>>b){ cout<<GCD(a,b)<<endl; }//while return 0;}
題目 [多個數的最大公約數]
題目:
多個數的最大公約數
描述:
輸入一組正整數(數量小於20),輸出其最大公約數。
輸入:
121 33 44 11 1111
輸出:
11
基本思路:
從第一個數開始,和第二個數比較找它兩的最大公約數,然後找出的最大公約數和第三個數比較,依次類推
代碼
/*---------------------------------------* 日期:2015-07-05* SJF0115* 題目:多個數的最大公約數* 來源:華為機試練習題-----------------------------------------*/#include <iostream>#include <vector>using namespace std;// 最大公約數int GCD(int a,int b){ if(b == 0){ return a; }//if return GCD(b,a%b);}int main(){ int n; //freopen("C:\\Users\\Administrator\\Desktop\\c++.txt","r",stdin); while(cin>>n){ int num,result; for(int i = 0;i < n;++i){ cin>>num; if(i == 0){ result = num; }//if else{ result = GCD(result,num); }//else }//for cout<<result<<endl; }//while return 0;}
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
[華為機試練習題]55.最大公約數 & 多個數的最大公約數