• cf B. Little Dima and Equation


    http://codeforces.com/contest/460/problem/B

     1 import java.util.*;
     2 import java.math.*;
     3 public class Main {
     4     
     5     public static void main(String []args)
     6     {
     7         Scanner cin=new Scanner(System.in);
     8         int a,b,c;
     9         BigInteger a1=new BigInteger("0");
    10         BigInteger a10=new BigInteger("1000000000");
    11         BigInteger a3=new BigInteger("10");
    12         BigInteger [][]cc=new BigInteger[100][1000];
    13         BigInteger []f1=new BigInteger[1000000];
    14         for(int i=1; i<=81; i++)
    15         {
    16             for(int j=1; j<=5; j++)
    17             {
    18                 BigInteger sum=new BigInteger("1");
    19                 BigInteger h=new BigInteger(((Integer)i).toString());
    20                 int k=1;
    21                 while(k<=j)
    22                 {
    23                     sum=sum.multiply(h);
    24                     k++;
    25                 }
    26                 cc[i] [j] =sum;
    27             }
    28         }
    29         a=cin.nextInt(); b=cin.nextInt();c=cin.nextInt();
    30         BigInteger h1=new BigInteger(((Integer)b).toString());
    31         BigInteger h2=new BigInteger(((Integer)c).toString());
    32         int cnt=0;
    33         for(int i=1; i<=81; i++)
    34         {
    35             BigInteger a2=new BigInteger("0");
    36             BigInteger hh=new BigInteger(((Integer)i).toString());
    37             BigInteger ans,ans1;
    38             ans=cc[i] [a] .multiply(h1).add(h2);
    39             ans1=ans;
    40             if(ans.compareTo(a1)<=0||ans.compareTo(a10)>0) continue;
    41             while(!ans.equals(a1))
    42             {
    43                 a2=a2.add(ans.mod(a3));
    44                 ans=ans.divide(a3);
    45             }
    46             if(a2.equals(hh))
    47             {
    48                 f1[cnt] =ans1;
    49                 cnt++;
    50             }
    51         }
    52         System.out.println(cnt);
    53         for(int i=0; i<cnt; i++)
    54         {
    55             if(i==0) System.out.print(f1[i] );
    56             else System.out.print(" "+f1[i] );
    57         }
    58         System.out.print("
    ");
    59     }
    60 }
    View Code
  • 相关阅读:
    C、C++混合调用
    20211027 投资策略优化
    2021投资策略
    程序猿多个对象的友好管理方式IOC容器
    欧几里德算法--求最大公约数
    C语言查找一个字符串中指定字符的个数
    linux下OpenSSL的RSA密钥生成
    文章目录
    python之禅
    EF 6.0 与sql ce 4.0 程序示例
  • 原文地址:https://www.cnblogs.com/fanminghui/p/3926306.html
Copyright © 2020-2023  润新知