❶ 用C++編程:列印出所有的"水仙花數",所謂"水仙花數"是指一個三位數,其各位數字立方和等於該數本身.
main()
{
int n,a,b,c;
for(n=100;n<=999;n++)
{
a=n/100;
b=n%100/10;
c=n%10;
if(a*a*a+b*b*b+c*c*c==n) printf("%d ",n);
}
}
水仙花數是指一個 n 位數 ( n≥3 ),它的每個位上的數字的 n 次冪之和等於它本身。
三位的水仙花數共有4個:153,370,371,407;
加一下就可以了,
153+370+371+407=1301
你可以用程序來找到他們,比如用我會的pascal語言就是:
program shuixianhuashu;
var
a,b,c:integer;
begin
for a:=1 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
if a*a*a+b*b*b+c*c*c=100*a+10*b+c then writeln(100*a+10*b+c);
end.
或:
program sxh;
var a,b,c,d:integer;
begin
for a:=100 to 999 do begin
b:=a mod 10;
c:=a mod 100 div 10;
d:=a div 100;
if b*b*b+c*c*c+d*d*d=a then writeln(a);
end;
end.
也可用C語言:
#include <stdio.h>
int main(void)
{
int a,b,c;
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
printf("%d%d%d ",a,b,c);
return 0;
}
(1)編程求出所有3位的水仙花數擴展閱讀:
水仙花數又稱阿姆斯特朗數。
三位的水仙花數共有4個:153,370,371,407;
四位的四葉玫瑰數共有3個:1634,8208,9474;
五位的五角星數共有3個:54748,92727,93084;
六位的六合數只有1個:548834;
七位的北斗七星數共有4個:1741725,4210818,9800817,9926315;
八位的八仙數共有3個:24678050,24678051,88593477
❷ 用VB編寫:找出所有的「水仙花數」。 「水仙花數」是指一個三位數,其各位數字的立方和等於該數本身
代碼為:
using System;
using System.Collections.Generic;
using System.Text;
namespace _
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("一重循環判斷:");
Console.WriteLine("水仙花數有:");
int i,j, k, l;
for (i = 100; i < 1000;i++)
{
j = i / 100;
k = i %100/10;
l = i % 10;
int n = j * j * j + k * k * k + l * l * l;
if (n == i)
Console.WriteLine(n);
}
Console.WriteLine("三重循環判斷:");
Console.WriteLine("水仙花數有:");
int q, w, e, r;
for(q=1;q<=9;q++)
for(w=0;w<=9;w++)
for (e = 0; e <= 9; e++)
{
int s = q * 100 + w * 10 + e;
int t = q * q * q + w * w * w + e * e * e;
if (s == t)
Console.WriteLine(s);
}
}
}
}
注意事項
自定義函數is(number)判斷number的各位數字立方和是否等於它本身,如is(121)返回值0,is(153)返回值1。 主函數輸入兩個正整數m和n(m>=1, n<=1000),輸出m-n之間的所有滿足各位數字和等於它本身的數。
Input
多組測試數據,每組輸入兩個正整數m和n(m>=1, n<=1000)。
Output
輸出m-n之間的所有滿足各位數字立方和等於它本身的數,空格隔開(最後一個數後無空格)。
Sample Input
1 100
50 200
50 500
Sample Output
1
153
153 370 371 407
#include<stdio.h>
#include<math.h>
int is(int number)
{
int s,sum=0;
while(number!=0)
{
s=number%10;//不斷取余,直至為0
sum+=pow(s,3);
number=number//10;不斷去尾,直至為0
}
return sum;
}
int main(void)
{
int m,n,k,flag;
while(scanf("%d%d",&m,&n)!=EOF)
{
flag=1;
for(k=m;k<=n;k++)
{
if(k==is(k))
{
if(flag!=0)
{
printf("%d",k);
flag=0;
}
else
printf(" %d",k);
}
}
printf(" ");
}
return 0;
}
❸ c語言編程題 找出所有的水仙花數,水仙花數是指一個3位數
import org.junit.Test;
public class NarcissusNumber{
public void isNarcissusNumber(){
//循環[100,999]
for(int i=100;i<=999;i++){
//分割出個位
int a=i%10;
//分割出十位
int b=i/10%10;
//分割出百位
int c=i/100;
//判斷該數是否等於【個位的三次方+十位的三次方+百位的三次方】
if(i==(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3))){
System.out.println(i+"是水仙花數");
}
}
}
Test
public void test(){
isNarcissusNumber();
}
/**
*結果:
*--->153是水仙花數
*--->370是水仙花數
*--->371是水仙花數
*--->407是水仙花數
*/
}
import用法
靜態的import語句用於導入由另一個模塊導出的綁定。無論是否聲明了strict mode,導入的模塊都運行在嚴格模式下。在瀏覽器中,import語句只能在聲明了type="mole"的script的標簽中使用。
此外,還有一個類似函數的動態import(),它不需要依賴type="mole"的script標簽。
在script標簽中使用nomole屬性,可以確保向後兼容。
在您希望按照一定的條件或者按需載入模塊的時候,動態import()是非常有用的。而靜態型的import是初始化載入依賴項的最優選擇,使用靜態import更容易從代碼靜態分析工具和tree shaking中受益。
語法
import defaultExport from"mole-name";
import*as name from"mole-name";
import{export}from"mole-name";
import{export as alias}from"mole-name";
import{export1,export2}from"mole-name";
import{foo,bar}from"mole-name/path/to/specific/un-exported/file";
import{export1,export2 as alias2,[...]}from"mole-name";
import defaultExport,{export[,[...]]}from"mole-name";
import defaultExport,*as name from"mole-name";
import"mole-name";
var promise=import("mole-name");//這是一個處於第三階段的提案。
defaultExport
導入模塊的默認導出介面的引用名。
mole-name
要導入的模塊。通常是包含目標模塊的.js文件的相對或絕對路徑名,可以不包括.js擴展名。某些特定的打包工具可能允許或需要使用擴展或依賴文件,它會檢查比對你的運行環境。只允許單引號和雙引號的字元串。
name
導入模塊對象整體的別名,在引用導入模塊時,它將作為一個命名空間來使用。
export,exportN
被導入模塊的導出介面的名稱。
alias,aliasN
將引用指定的導入的名稱。
❹ 用C語言求出100到1000之間的水仙花數
#include"stdio。h"
intmain()
{
intx,y,z;
printf("100到1000之間的水仙花數有: ");
for(inta=100;a<=1000;a++)
x=a/100;//x為百位上的數
y=(a-x*100)/10;//y為十位上的數
z=a-x*100-y*10;//z為個位上的數
if(a==x*x*x+y*y*y+z*z*z)
{
printf("%d ",a);
getchar();
getchar();
return0;
}
水仙花數又稱阿姆斯特朗數。
三位的水仙花數共有4個:153,370,371,407;
四位的四葉玫瑰數共有3個:1634,8208,9474;
五位的五角星數共有3個:54748,92727,93084;
六位的六合數只有1個:548834;
七位的北斗七星數共有4個:1741725,4210818,9800817,9926315;
八位的八仙數共有3個:24678050,24678051,88593477
以上內容參考:網路-水仙花數
❺ 7.編程列印出100~999間所有的「水仙花數」,所謂水仙花數是指一個3位數,其各位數字的立方和等於該數本身。
第一種方式分離每位數字:
#include<stdio.h>
int main()
{
int a,b,c;
int i;
for(i=100;i<1000;i++)
{
a=i%10;
b=i/10%10;
c=i/100;
if(i==a*a*a+b*b*b+c*c*c)
{
printf("%d ",i);
}
}
return 0 ;
}
第二種方式:三重for循環
#include<stdio.h>
int main()
{
int a,b,c;
int i,j,k;
for(i=1;i<=9;i++)
{
for(j=0;j<=9;j++)
{
for(k=0;k<=9;k++)
{
if(i*i*i+j*j*j+k*k*k==i*100+j*10+k)
{
printf("%d%d%d ",i,j,k);
}
}
}
}
printf(" ");
return 0 ;
}
水仙花數只是自冪數的一種,嚴格來說3位數的3次冪數才稱為水仙花數。
附:其他位數的自冪數名字
一位自冪數:獨身數
兩位自冪數:沒有
三位自冪數:水仙花數
四位自冪數:四葉玫瑰數
五位自冪數:五角星數
六位自冪數:六合數
七位自冪數:北斗七星數
八位自冪數:八仙數
九位自冪數:九九重陽數
十位自冪數:十全十美數
常見水仙花數
水仙花數又稱阿姆斯特朗數。
三位的水仙花數共有4個:153,370,371,407;
四位的四葉玫瑰數共有3個:1634,8208,9474;
五位的五角星數共有3個:54748,92727,93084;
六位的六合數只有1個:548834;
七位的北斗七星數共有4個:1741725,4210818,9800817,9926315;
八位的八仙數共有3個:24678050,24678051,88593477
……
使用高精度計算,可以得到超過int類型上限的水仙花數:
5: 93084
5: 92727
5: 54748
6: 548834
7: 9800817
7: 4210818
7: 1741725
7: 9926315
8: 24678050
8: 24678051
8: 88593477
9: 146511208
9: 912985153
9: 472335975
9: 534494836
10: 4679307774
11: 32164049650
11:40028394225
11: 42678290603
11: 49388550606
11: 32164049651
11: 94204591914
11: 44708635679
11: 82693916578
14: 28116440335967
16: 4338281769391370
16: 4338281769391371
17: 21897142587612075
17: 35641594208964132
17: 35875699062250035
19: 1517841543307505039
19: 3289582984443187032
19: 4929273885928088826
19: 4498128791164624869
20: 63105425988599693916
21: 449177399146038697307
21: 128468643043731391252
23: 27907865009977052567814
23: 35452590104031691935943
23: 27879694893054074471405
23: 21887696841122916288858
24: 174088005938065293023722
24: 188451485447897896036875
(為環保起見,24位以上的水仙花數略)
最大的水仙花數有39位。十進制自然數中的所有水仙花數共有88個。
❻ 編程找出所有三位數中的水仙花數
找出所有3位水仙花數的程序:
#include<stdio.h>
int main()
{
int i,a,b,c;
for(i=100;i<1000;i++)
{
a=i/100; //百位數
b=i/10%10; //十位數
c=i%10; //個位數
if(i==a*a*a+b*b*b+c*c*c)
printf("%d\n",i);
}
getch();
}
❼ c語言 編程求三位數的水仙花數
#include <stdio.h>
int main()
{
int i;
for( i=100; i<1000; i++)
{
int num0 = i%10;
int num1 = i/10%10;
int num2 = i/10/10%10;
if(i==(num0*num0*num0+num1*num1*num1+num2*num2*num2))
{ printf("%5d", i);
}
}
return 0;
}
❽ 水仙花數的c語言編程。
所謂的「水仙花數」是指一個三位數其各位數字的立方和等於該數本身,例如153是「水仙花數」,因為:153 = 1^3 + 5^3+ 3^3。
下面是完整的C語言編程代碼:
運行結果:
result is:153 370 371 407
(8)編程求出所有3位的水仙花數擴展閱讀
常見水仙花數
水仙花數又稱阿姆斯特朗數。
1、三位的水仙花數共有4個:153,370,371,407;
2、四位的四葉玫瑰數共有3個:1634,8208,9474;
3、五位的五角星數共有3個:54748,92727,93084;
4、六位的六合數只有1個:548834;
5、七位的北斗七星數共有4個:1741725,4210818,9800817,9926315;
6、八位的八仙數共有3個:24678050,24678051,88593477
❾ C語言編程輸出所有的「水仙花數」。
1、首先需要打開Dev-c++軟體,點擊「新建源代碼」。
❿ 編程序求出所有的水仙花數(所謂水仙花數是一個三位數,它的各位的立方和等於該數本身)並在實驗板上顯示
演算法:可枚舉所有三位數,再分解各位數進行判斷。
C語言(三位數枚舉法):
#include
main()
{
int
i,s1,s2,s3;
for(i=100;i<=999;i++)
//枚舉所有的三位數
{
s1=i/100;
//把i的百位賦值給s1
s2=i/10%10;
//把i的十位賦值給s2
s3=i%10;
//把i的個位賦值給s3
if(s1*s1*s1+s2*s2*s2+s3*s3*s3==i)
//如果各位數字之和等於該數
printf("%d\n",i);
//則輸出該數
}
return
0;
}