博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
51Nod 1016 - 水仙花数
阅读量:5287 次
发布时间:2019-06-14

本文共 4335 字,大约阅读时间需要 14 分钟。

题目链接

【题目描述】

水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153,1634 = 1^4 + 6^4 + 3^4 + 4^4)。
给出一个整数M,求 >= M的最小的水仙花数。
Input
一个整数M(10 <= M <= 10^60)
Output
输出>= M的最小的水仙花数,如果没有符合条件的水仙花数,则输出:No Solution
Input示例
300
Output示例
370

【思路】

没有思路,用此题记录一下10进制的全部89个水仙花数

import java.util.*;import java.math.*;public class Main {    public static void main(String[] args) {        String []narNumberString = {                "0",                "1",                "2",                "3",                "4",                "5",                "6",                "7",                "8",                "9",                "153",                "370",                "371",                "407",                "1634",                "8208",                "9474",                "54748",                "92727",                "93084",                "548834",                "1741725",                "4210818",                "9800817",                "9926315",                "24678050",                "24678051",                "88593477",                "146511208",                "472335975",                "534494836",                "912985153",                "4679307774",                "32164049650",                "32164049651",                "40028394225",                "42678290603",                "44708635679",                "49388550606",                "82693916578",                "94204591914",                "28116440335967",                "4338281769391370",                "4338281769391371",                "21897142587612075",                "35641594208964132",                "35875699062250035",                "1517841543307505039",                "3289582984443187032",                "4498128791164624869",                "4929273885928088826",                "63105425988599693916",                "128468643043731391252",                "449177399146038697307",                "21887696841122916288858",                "27879694893054074471405",                "27907865009977052567814",                "28361281321319229463398",                "35452590104031691935943",                "174088005938065293023722",                "188451485447897896036875",                "239313664430041569350093",                "1550475334214501539088894",                "1553242162893771850669378",                "3706907995955475988644380",                "3706907995955475988644381",                "4422095118095899619457938",                "121204998563613372405438066",                "121270696006801314328439376",                "128851796696487777842012787",                "174650464499531377631639254",                "177265453171792792366489765",                "14607640612971980372614873089",                "19008174136254279995012734740",                "19008174136254279995012734741",                "23866716435523975980390369295",                "1145037275765491025924292050346",                "1927890457142960697580636236639",                "2309092682616190307509695338915",                "17333509997782249308725103962772",                "186709961001538790100634132976990",                "186709961001538790100634132976991",                "1122763285329372541592822900204593",                "12639369517103790328947807201478392",                "12679937780272278566303885594196922",                "1219167219625434121569735803609966019",                "12815792078366059955099770545296129367",                "115132219018763992565095597973971522400",                "115132219018763992565095597973971522401"        };        BigInteger narNum[] = new BigInteger[100];        for (int i = 0; i < narNumberString.length; ++i) {            narNum[i] = new BigInteger(narNumberString[i]);        }        Scanner input = new Scanner(System.in);        while (input.hasNext()) {            BigInteger m = input.nextBigInteger();            boolean flag = false;            for (int i = 0; i < narNumberString.length; ++i) {                if (narNum[i].compareTo(m) >= 0) {                    flag = true;                    System.out.println(narNum[i]);                    break;                }            }            if (!flag) System.out.println("No Solution");        }        input.close();    }}

转载于:https://www.cnblogs.com/wafish/p/10465401.html

你可能感兴趣的文章
关于本博客说明
查看>>
[Kaggle] Sentiment Analysis on Movie Reviews
查看>>
价值观
查看>>
mongodb命令----批量更改文档字段名
查看>>
国外常见互联网盈利创新模式
查看>>
android:scaleType属性
查看>>
shell脚本
查看>>
Upload Image to .NET Core 2.1 API
查看>>
Linux中防火墙centos
查看>>
[JS]递归对象或数组
查看>>
linux sed命令
查看>>
程序存储问题
查看>>
优雅地书写回调——Promise
查看>>
PHP的配置
查看>>
Struts框架----进度1
查看>>
Round B APAC Test 2017
查看>>
MySQL 字符编码问题详细解释
查看>>
css & input type & search icon
查看>>
语音识别中的MFCC的提取原理和MATLAB实现
查看>>
c# 文件笔记
查看>>