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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Find The Multiple——简单搜索+大胆尝试

發布時間:2023/11/30 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Find The Multiple——简单搜索+大胆尝试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【題目描述】

Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal representation contains only the digits 0 and 1. You may assume that n is not greater than 200 and there is a corresponding m containing no more than 100 decimal digits.
Input
The input file may contain multiple test cases. Each line contains a value of n (1 <= n <= 200). A line containing a zero terminates the input.
Output
For each value of n in the input print a line containing the corresponding value of m. The decimal representation of m must not contain more than 100 digits. If there are multiple solutions for a given value of n, any one of them is acceptable.
Sample Input

2 6 19 0

Sample Output

10 100100100100100100 111111111111111111

【題目分析】
看到這道題的第一反應是好像要用高精度,但是自己高精度又不太熟,所以就上網看了一下題解,發現并不用高精度就可以做出來,應該是數論什么的保證了有正確性或者是數據比較水?
得到的經驗就是:看到一道題思考要用可能要用什么算法是對的,但是不能因為局限在這種可能性中停滯不前,可能的話還有不出現的概率呢,先試一下,比賽是即時反饋的,做出來才是王道。

#include<cstdio> #include<cstring> #include<queue> using namespace std;typedef unsigned long long ll; ll n,flag,t,p;void BFS() {queue<ll> q;t=1;q.push(t);while(!q.empty()){t=q.front(); q.pop();if(t%n==0){printf("%llu\n",t);return;}p=t*10; q.push(p);p=t*10+1; q.push(p);} }int main() {while(~scanf("%d",&n) && n){flag=0;BFS();}return 0; }

總結

以上是生活随笔為你收集整理的Find The Multiple——简单搜索+大胆尝试的全部內容,希望文章能夠幫你解決所遇到的問題。

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