• 1015 水仙花数


    1015 水仙花数

    基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题
     
    水仙花数是指一个 n 位数 ( n >= 3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
    给出一个整数M,求 >= M的最小的水仙花数。
    Input
    一个整数M(10 <= M <= 1000)
    Output
    输出>= M的最小的水仙花数
    Input示例
    99
    Output示例
    153

    这个还是数据量小,就暴力一下,要是数据量一大,就得重新想思路.
     1 #include <bits/stdc++.h>
     2 #define mem(a) memset(a,0,sizeof(a))
     3 using namespace std;
     4 int k[2000];
     5 void Edge(){
     6   mem(k);
     7   for(int i=10;i<=99;i++){
     8     int x=i/10,y=i%10;
     9     if(x*x+y*y==i)
    10       k[i]=1;
    11   }
    12   for(int i=100;i<=999;i++){
    13     int x=i%10,y=i/100,z=(i/10)%10;
    14     if(x*x*x+y*y*y+z*z*z==i)
    15       k[i]=1;
    16   }
    17   for(int i=1000;i<=2000;i++){
    18     int x=i%10,y=i/1000,z=(i/100)%10,l=(i/10)%10;
    19     if(x*x*x*x+y*y*y*y+z*z*z*z+l*l*l*l==i)
    20       k[i]=1;
    21   }
    22 }
    23 int main(){
    24   int n;
    25   Edge();
    26   while(cin>>n){
    27     for(int i=n;i<=2000;i++){
    28       if(k[i]==1)
    29         {
    30           cout<<i<<endl;
    31           break;
    32         }
    33     }
    34   }
    35   return 0;
    36 }
     
  • 相关阅读:
    NAND FLASH扇区管理
    ECC内存校验算法
    实时数据库简介
    windows标准控件
    PLC一些资料
    at命令
    Vi 常用命令列表
    PHP继承及实现
    Mongodb php扩展及安装
    Linux下jdk1.6安装指引
  • 原文地址:https://www.cnblogs.com/zllwxm123/p/7360090.html
Copyright © 2020-2023  润新知