java計(jì)算自?xún)鐢?shù)和水仙花數(shù)
(例如:當(dāng)n為3時(shí),有1^3 + 5^3 + 3^3 = 153,153即是n為3時(shí)的一個(gè)自?xún)鐢?shù))
n為1時(shí),自?xún)鐢?shù)稱(chēng)為獨(dú)身數(shù)。
n為2時(shí),沒(méi)有自?xún)鐢?shù)。
n為3時(shí),自?xún)鐢?shù)稱(chēng)為水仙花數(shù)。
n為4時(shí),自?xún)鐢?shù)稱(chēng)為玫瑰花數(shù)。
n為5時(shí),自?xún)鐢?shù)稱(chēng)為五角星數(shù)。
n為7時(shí),自?xún)鐢?shù)稱(chēng)為北斗七星數(shù)。
n為8時(shí),自?xún)鐢?shù)稱(chēng)為八仙數(shù)。
n為9時(shí),自?xún)鐢?shù)稱(chēng)為九九重陽(yáng)數(shù)。
n為10時(shí),自?xún)鐢?shù)稱(chēng)為十全十美數(shù)。
/*
* 自?xún)鐢?shù)
* 自?xún)鐢?shù)是指一個(gè) n 位數(shù),它的每個(gè)位上的數(shù)字的 n 次冪之和等于它本身。
* (例如:當(dāng)n為3時(shí),有1^3 + 5^3 + 3^3 = 153,153即是n為3時(shí)的一個(gè)自?xún)鐢?shù))
*/
import java.util.Scanner;
public class 自?xún)鐢?shù) {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("請(qǐng)輸入您所要查的自?xún)鐢?shù)位數(shù):");
int n = input.nextInt();// 接收數(shù)字位數(shù)
// 定義一數(shù)字number,從10^(n-1)開(kāi)始自加,到10^n結(jié)束
switch (n) {
case 1:
System.out.println("獨(dú)身數(shù):");
System.out.print("0" + "\t");
break;
case 2:
System.out.println("兩位自?xún)鐢?shù):");
System.out.println("沒(méi)有自?xún)鐢?shù)!");
break;
case 3:
System.out.println("水仙花數(shù):");
break;
case 4:
System.out.println("玫瑰花數(shù):");
break;
case 5:
System.out.println("五角星數(shù):");
break;
case 7:
System.out.println("北斗七星數(shù):");
break;
case 8:
System.out.println("八仙數(shù):");
break;
case 9:
System.out.println("九九重陽(yáng)數(shù):");
break;
case 10:
System.out.println("十全十美數(shù):");
break;
default:
System.out.println("其它自?xún)鐢?shù):");
break;
}
for (int number = (int) Math.pow(10, n - 1); number < Math.pow(10, n); number++) {
// 判斷條件:數(shù)字number的位數(shù)為n
if (String.valueOf(number).length() == n) {
double num = 0;
for (int i = 0; i < n; i++) {
int temp = (int) (number / Math.pow(10, i)) % 10;
num += Math.pow(temp, n);
}
if (number == num) {
System.out.print(number + "\t");
}
}
}
input.close();
}
}
相關(guān)文章
Redis Java Lettuce驅(qū)動(dòng)框架原理解析
這篇文章主要介紹了Redis Java Lettuce驅(qū)動(dòng)框架原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12
Spring的Bean生命周期之BeanDefinition詳解
這篇文章主要介紹了Spring的Bean生命周期之BeanDefinition詳解,在spring bean創(chuàng)建過(guò)程 依賴(lài) BeanDefinition 中的信息處理bean的生產(chǎn),BeanDefinition 是 Spring Framework 中定義 Bean 的配置元信息接口,需要的朋友可以參考下2023-12-12
Spring MVC前后端的數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)方法
這篇文章主要介紹了Spring MVC前后端的數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)方法,需要的朋友可以參考下2017-10-10
Apache?Arrow?Parquet存儲(chǔ)與使用
這篇文章主要為大家介紹了Apache?Arrow?Parquet存儲(chǔ)與使用原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
Java中的權(quán)限修飾符(protected)示例詳解
這篇文章主要給大家介紹了關(guān)于Java中權(quán)限修飾符(protected)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
Java中的深拷貝(深復(fù)制)和淺拷貝(淺復(fù)制)介紹
這篇文章主要介紹了Java中的深拷貝(深復(fù)制)和淺拷貝(淺復(fù)制)介紹,需要的朋友可以參考下2015-03-03
如何自動(dòng)生成Mybatis的Mapper文件詳解
這篇文章主要給大家介紹了關(guān)于如何自動(dòng)生成Mybatis的Mapper文件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Mybatis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Java中基于推、拉模式的sentinel規(guī)則持久化詳解
這篇文章主要介紹了Java中基于推、拉模式的sentinel規(guī)則持久化詳解,推模式是sentinelDashboard?把規(guī)則推給Nacos,Nacos監(jiān)聽(tīng)規(guī)則的變化推給微服務(wù),拉模式是sentinelDashboard?把規(guī)則直接給微服務(wù),?Nacos定時(shí)的同步微服務(wù)端的規(guī)則,需要的朋友可以參考下2023-09-09

