信息学奥赛一本通 2021:【例4.6】最大公约数
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通 2021:【例4.6】最大公约数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目鏈接】
ybt 2021:【例4.6】最大公約數
【題目考點】
1. while循環
2. 求最大公約數
- 輾轉相減法
- 輾轉相除法
【解題思路】
解法1:枚舉
取較小數字,從該數字的值開始從大到小遍歷,取一個最大的能同時被m,n整除的數字,該數字即為兩數字的最大公約數。
解法2:輾轉相減法與輾轉相除法
具體解法見該題:
信息學奧賽一本通 1207:求最大公約數問題 | OpenJudge 2.2 7592:求最大公約數問題
【題解代碼】
解法1:枚舉
#include<bits/stdc++.h> using namespace std; int main() {int m, n, s;cin >> m >> n;s = m > n ? n : m;//s為m, n中較小的數字for(int i = s; i >= 1; --i){if(m % i == 0 && n % i == 0){cout << i;return 0;} }return 0; }總結
以上是生活随笔為你收集整理的信息学奥赛一本通 2021:【例4.6】最大公约数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通 1962:【13NOI
- 下一篇: 信息学奥赛一本通(1245:不重复地输出