LC869重排2的幂

 1 #include <stdio.h>
 2 int main()
 3 {
 4     int n;
 5     int i=1,j;
 6     int flag=0;
 7     long long int m=1,b;
 8     int a[31][10]={0};
 9     int c[10]={0};
10     a[0][1]=1;
11     scanf("%d",&n);
12     while(i<=30)
13     {
14         m=m*2;
15         b=m;
16         while(b)
17         {
18             a[i][b%10]++;//打表
19             b=b/10;
20         }
21         i++;
22     }
23     while(n)
24     {
25         c[n%10]++;
26         n=n/10;
27     }
28     for(i=0;i<=30;i++)
29     {
30         for(j=0;j<10;j++)
31         {
32             if(a[i][j]!=c[j])
33                 break;
34         }
35         if(j==10)
36         {
37             flag=1;
38             break;
39         }
40     }
41     if(flag)
42         printf("true\n");
43     else
44         printf("false\n");
45     return 0;
46 }

 

posted @ 2022-01-12 17:14  scannerkk  阅读(28)  评论(0)    收藏  举报