代碼如下:
超過10余年行業經驗,技術領先,服務至上的經營模式,全靠網絡和口碑獲得客戶,為自己降低成本,也就是為客戶降低成本。到目前業務范圍包括了:成都做網站、成都網站建設,成都網站推廣,成都網站優化,整體網絡托管,成都小程序開發,微信開發,成都App定制開發,同時也可以讓客戶的網站和網絡營銷和我們一樣獲得訂單和生意!
package com.vo;
public class Shuixianhua {
public static void main(String[] args) {
int a=0;
int b=0;
int c=0;
for(int i=100;i999;i++)
{
a=i/100;
b=i/10%10;
c=i%10;
if(i==(a*a*a+b*b*b+c*c*c))
System.out.println(i);
}
}
}
首先水仙花數”是指一個三位數,其各位數字立方和等于該數,
如:153是一個“水仙花數”,因為1的三次方+5的三次方+3的三次方等于153
解此題的關鍵是怎能樣從一個三位數中分離百位數、十位數、個位數。可以這樣做,設該三位數以i代表,由a,b,c三個數字組成。
(1)百位數字a:a=int(i/100).
(2)十位數字b:b=int((i-100*a)/10)
(3)個位數字c:c=i-int(i/10)*10.
然后在根據上述代碼可得
擴展資料:
水仙花數(Narcissistic number)也被稱為超完全數字不變數(pluperfect digital invariant, PPDI)、自戀數、自冪數、阿姆斯壯數或阿姆斯特朗數(Armstrong number),水仙花數是指一個 3 位數,它的每個位上的數字的 3次冪之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。
參考資料:水仙花數百度百科
按一下代碼執行:
public class woo {
public static void main(String args[]) {
System.out.println("100-1000中的水仙花數有:");
for(int i=100;i1000;i++){
int single? = i%10;
int ten = i/10%10;
int hundred = i/10/10%10;
//水仙花數判斷要求
if(i == (single*single*single+ten*ten*ten+hundred*hundred*hundred)){
System.out.println(i);
}
}
}
}
擴展資料:
水仙花數只是自冪數的一種,嚴格來說3位數的3次冪數才稱為水仙花數。
一位自冪數:獨身數
兩位自冪數:沒有
三位自冪數:水仙花數
四位自冪數:四葉玫瑰數
五位自冪數:五角星數
六位自冪數:六合數
七位自冪數:北斗七星數
八位自冪數:八仙數
九位自冪數:九九重陽數
十位自冪數:十全十美數
參考資料:
水仙花數——百度百科
public void isNumber(int num)
{
String numm=""+ num;//首先把你輸入的整型數轉換成字符類型
int len=numm.length();//得到你輸入的數的個數(你要判斷的數是三位數、四位數、、、)
int [] nums=new int [len];//聲明一個數組來保存輸入的這個數分別拆分后的單個值,如153 (1、5、3)
int temp=0,i=0;
while(num10)//用循環分別把這個位的每個位上的值保存在數組中
{
nums[i] = num % 10;
String nu=numm.substring(0, (numm.length()-(i+1)));
num =Integer.parseInt(nu);
i++;
if(num10)
{
nums[i]=num;
break;
}
}
for (int j = 0; j nums.length;j++)
{//用循環得到數組中無素的值累加
temp += (int) Math.pow(nums[j], nums.length);
}
num=Integer.parseInt(numm);
if(temp==num)//判斷累加后的結果是否與輸入的值一致
{
( System.err.println(num+"是水仙花數!"); }
else
{
System.err.println(num+"不是水仙花數!"); }
}
public static void main(String [] args)
{
Scanner input =new Scanner(System.in);
System.out.println("請輸入一個數字:");
int num = input.nextInt();
isNumber(num);
}
}
水仙花數是指一個 n 位數 ( n≥3 ),它的每個位上的數字的 n 次冪之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
什么是水仙花數
水仙花數只是自冪數的一種,嚴格來說三位數的3次冪數才成為水仙花數。
附:其他位數的自冪數名字
一位自冪數:獨身數
兩位自冪數:沒有
三位自冪數:水仙花數
四位自冪數:四葉玫瑰數
五位自冪數:五角星數
六位自冪數:六合數
七位自冪數:北斗七星數
八位自冪數:八仙數
九位自冪數:九九重陽數
十位自冪數:十全十美數
所謂?"水仙花數?"是指一個三位數,其各位數字立方和等于該數本身。例如:153是一個?"水仙花數?",因為153=1的三次方+5的三次方+3的三次方。代碼如下
public?class?Shuixianhua?{
/**
?*?判斷數字是否是水仙花數
?*?@Title:?shuixianhua?
?*?@param:@param?x
?*?@param:@return
?*?@return:boolean
?*?@Description:
?*?@date?2017年11月2日?下午3:03:10
?*?@throws
?*/
?public?boolean?shuixianhua(int?x)??
{??
???int?i=0,j=0,k=0;??
???i=x?/?100;??
???j=(x?%?100)?/10;??
???k=x?%?10;??
???if(x==i*i*i+j*j*j+k*k*k)??
???return?true;??
???else??
???return?false;??
?
}
?
?public?static?void?main(String[]?args)?{
?//存放所有水仙花數的集合
ListInteger?sxhList=new?ArrayListInteger();
Shuixianhua?sxh=new?Shuixianhua();
for(int?i=1;i=1000;i++){
//判斷是否是水仙花數,是則放入集合
if(sxh.shuixianhua(i)){
sxhList.add(i);
}
}
//打印所有水仙花數
System.out.println(sxhList.toString());
}
}
打印出所有的"水仙花數"的程序:
package shuixianhuashu;
import shuixianhuashu.shuixianhuashu; public class shuixianhuashu {
static Boolean isSxh(int m){ int a1,a2,a3; a1=m/100; a2=m%100/10; a3=m%10; if(m3) return false;
else if( (a1*a1*a1+a2*a2*a2+a3*a3*a3) == (a1*100+a2*10+a3) )
return true; else
return false;
}
public static void main(String[] args){ System.out.println("1000以內的水仙花數:"); shuixianhuashu s = new shuixianhuashu(); for(int i=101;i1000;i++) if(s.isSxh(i))
System.out.print(i+"\t"); } }
運行結果:
1000以內的水仙花數: 153
370 371 407
【擴展】
所謂"水仙花數"是指一個三位數,其各位數字 立方和等于該數本身。
當前名稱:java水仙花素代碼,java水仙花數代碼
標題來源:http://www.yijiale78.com/article38/dsgodpp.html
成都網站建設公司_創新互聯,為您提供營銷型網站建設、全網營銷推廣、App設計、網站排名、網站改版、網站內鏈
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯