日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NOJ踩气球

發布時間:2024/1/18 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NOJ踩气球 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

NOJ踩氣球

描述:

六一兒童節,小朋友們做踩氣球游戲,氣球的編號是1~100,兩位小朋友各踩了一些氣球,要求他們報出自己所踩氣球的編號的乘積。現在需要你編一個程序來判斷他們的勝負,判斷的規則是這樣的:如果兩人都說了真話,數字大的人贏;如果兩人都說了假話,數字大的人贏;如果報小數字的人說的是真話而報大數字的人說謊,則報小數字的人贏(注意:只要所報的小數字是有可能的,即認為此人說了真話)。

輸入:

輸入為兩個數字,0 0表示結束;

輸出:

輸出為獲勝的數字。

輸入樣例:

36 62
49 343
0 0

輸出樣例

62
49
注意每個因子只能出現一次

#include <iostream> using namespace std; int f1 = 0, f2 = 0; void dfs(int n, int m, int f) {if (f1) return;if (n == 1 && m == 1) {f1 = 1;//要保證n與m的因子不同,利用先后遞歸,避免兩者使用同一個因子,在n有100以內的因子時,m也有其他與n不重復的因子return;}if (m == 1)f2 = 1;while (f > 1) {if (n % f == 0) dfs(n / f, m, f - 1);if (m % f == 0) dfs(n, m / f, f - 1);f--;} }int main() {int n, m = 0;while (cin >> n >> m) {if (n == 0 && m == 0) break;int t = 0;if (m > n) {t = n; n = m; m = t;}f1 = 0;f2 = 0;dfs(n, m, 100);if (f1 == 0 && f2) cout << m << endl;else cout << n << endl;}return 0; }

總結

以上是生活随笔為你收集整理的NOJ踩气球的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。