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

cf B Very Beautiful Number

时间:2015-01-26 22:43:06      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:

题意:给你两个数p和x,然后让你找出一个长度为p的数,把它的最后移到最前面之后得到的数是原来数字的x倍,有很多这样的数取最小。

思路:枚举最后一位,然后就可以推出整个的一个数,然后比较得到的数的第一个数字和枚举的数字是否相等既可以。

技术分享
 1 #include <cstdio>
 2 #include <cstring>
 3 #include <cmath>
 4 #include <algorithm>
 5 using namespace std;
 6 
 7 int p,x;
 8 char str[1000010];
 9 
10 int main()
11 {
12     scanf("%d%d",&p,&x);
13     bool flag=false;
14     for(int i=1; i<=9; i++)
15     {
16         int m=i;
17         int c=0;
18         int y=i;
19         str[0]=m+0;
20         for(int j=1; j<=p; j++)
21         {
22             int cc=(y*x+c)/10;
23             y=(y*x+c)%10;
24             str[j]=y+0;
25             c=cc;
26         }
27         if(y==m&&str[p-1]!=0&&c==0)
28         {
29             flag=true;
30             for(int k=p-1; k>=0; k--)
31             {
32                 printf("%c",str[k]);
33             }
34             printf("\n");
35             break;
36         }
37     }
38     if(!flag) printf("Impossible\n");
39     return 0;
40 }
View Code

 

cf B Very Beautiful Number

标签:

原文地址:http://www.cnblogs.com/fanminghui/p/4251431.html

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