zoukankan      html  css  js  c++  java
  • cf B Very Beautiful Number

    题意:给你两个数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("
    ");
    35             break;
    36         }
    37     }
    38     if(!flag) printf("Impossible
    ");
    39     return 0;
    40 }
    View Code
  • 相关阅读:
    Day 9 作业题(完成)
    Day 9 函数的初识1
    Day 8 集合与文件的操作
    Day 7 深copy和浅Copy
    Day6 ,周期末考试试题
    Day 6 编码的进阶
    Day5 作业(完成)
    Day 5 字典的操作
    Day4 作业
    Day 4 list 列表的使用方法
  • 原文地址:https://www.cnblogs.com/fanminghui/p/4251431.html
Copyright © 2011-2022 走看看