码迷,mamicode.com
首页 > 其他好文 > 详细

【POJ】1426 Find The Multiple

时间:2018-09-24 23:15:26      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:int   main   print   get   font   step   str   stream   链接   

题目链接http://poj.org/problem?id=1426

 

题意:给定一个正整数n,找一个比n大且能只由01构成的且能够被n整除的数。

 

题解:这个就是在后面添0和添1小心试探。一定要是添0不成功再去添1。

 

代码:

 1 #include<iostream>
 2 #include<cstdio>
 3 using namespace std;
 4 #define ll long long 
 5 
 6 int flag;  
 7 int n;  
 8 
 9 int dfs(ll s,int step){  
10     if(flag == 1 || step == 19)  
11         return 0;  
12     else if( s % n == 0){  
13         printf("%lld\n",s);  
14         flag = 1;  
15         return 1;  
16     }  
17     else{  
18         if( !dfs( s*10 , step+1 ))  
19             dfs(s*10 + 1, step+1);  
20     }  
21 }  
22 int main(){  
23     while(scanf("%d",&n)!= EOF && n){
24         flag = 0;
25         dfs(1,0);
26     }
27 
28     return 0;  
29 }   

 

【POJ】1426 Find The Multiple

标签:int   main   print   get   font   step   str   stream   链接   

原文地址:https://www.cnblogs.com/Asumi/p/9696952.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!