C++ 最大公约数排序
生活随笔
收集整理的這篇文章主要介紹了
C++ 最大公约数排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
給出一些整數對,請求出這些整數對的最大公約數,并對這些最大公約數按從小到大的順序排序輸出
輸入描述
輸入包含n行(1<n<100),每行含兩個數a和b(1<a,b<100000),用空格隔開
輸出描述
對于上面所有行輸入,將其最大公約數按照從小到大的順序輸出在一行
輸入樣例
12 35 77 91 123 789 24 28 64 112 1024 888 98 54輸出樣例
1 2 3 4 7 8 16 #include <iostream> #include <algorithm> using namespace std;int gcd(int da, int xiao){ // 求出2個數中的最大公約數int temp;while(xiao != 0){temp = da % xiao;da = xiao;xiao = temp;}return da; }int main(){int a, b;int s[100]; // 輸入包含n行(1<n<100)int i = 0, j;while(cin >> a >> b){ // 持續對 a 和 b進行賦值,當輸入非int類型的變量時,會停止輸入,結束循環s[i] = gcd(a , b); // 調用gcd函數并把結果存入數組中i++;}sort(s, s+i); // 對公約數進行從小到大排序,調用庫中的排序方法for(j = 0; j < i -1; j++){ // 遍歷數組中存放的最大公約數cout << s[j] << " "; // 在后面沒有使用 endl ,代碼則不會換行輸出}cout << s[j] << endl;return 0;} 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的C++ 最大公约数排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Docker部署Node.js中的V
- 下一篇: C++ 二进制转十进制