C++ 最大公约数排序
生活随笔
收集整理的這篇文章主要介紹了
C++ 最大公约数排序
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目描述
給出一些整數(shù)對(duì),請(qǐng)求出這些整數(shù)對(duì)的最大公約數(shù),并對(duì)這些最大公約數(shù)按從小到大的順序排序輸出
輸入描述
輸入包含n行(1<n<100),每行含兩個(gè)數(shù)a和b(1<a,b<100000),用空格隔開
輸出描述
對(duì)于上面所有行輸入,將其最大公約數(shù)按照從小到大的順序輸出在一行
輸入樣例
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個(gè)數(shù)中的最大公約數(shù)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){ // 持續(xù)對(duì) a 和 b進(jìn)行賦值,當(dāng)輸入非int類型的變量時(shí),會(huì)停止輸入,結(jié)束循環(huán)s[i] = gcd(a , b); // 調(diào)用gcd函數(shù)并把結(jié)果存入數(shù)組中i++;}sort(s, s+i); // 對(duì)公約數(shù)進(jìn)行從小到大排序,調(diào)用庫(kù)中的排序方法for(j = 0; j < i -1; j++){ // 遍歷數(shù)組中存放的最大公約數(shù)cout << s[j] << " "; // 在后面沒有使用 endl ,代碼則不會(huì)換行輸出}cout << s[j] << endl;return 0;} 《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的C++ 最大公约数排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Docker部署Node.js中的V
- 下一篇: s3c2440移植MQTT