1、C语言的"水仙花数"实现代码:
2、;scanf("%d",&i)
3、printf("%ld为水仙花数",q);
4、;printf("\n");return0;}intsxh(intnumber)//定义判断水仙花数的函数{intsum=0,item,count=1,i=1,temp;temp=number;while(temp>=10){count++;//判断位数temp/=10;}temp=number;while(i<=count){item=temp%10;temp/=10;sum=sum+item*item*item;i++;}if(sum==number)return1;elsereturn0;}
5、;if(sxh(i)
6、c=n/a;
7、a=10;
8、}else{
9、n=n-s[j]*(a/10);
10、严格的水仙花是三位数,并且其每位数的三次方的和等于它的本身。
11、if(p==q){
12、for(i=1;c>10;++i){
13、longc,a,j,s[30],i,q;
14、例子如下:370是一个严格的水仙花数,3^3+7^3+0^3=370.
15、}printf("i=%ld,a=%ld\n",i,a);
16、水仙花数是指各位数字的立方和等于该本身的三位数。
17、intmain(void){
18、;//sxh=水仙花数intmain(){inti;printf("输出一个三位数:")
19、scanf("%ld",&n);
20、VF语言中,可以通过以下程序来输出水仙花数:```fori:=100to999dobegina:=idiv100;//取百位数b:=(i-a*100)div10;//取十位数c:=imod10;//取个位数ifi=a*a*a+b*b*b+c*c*cthen//判断是否为水仙花数writeln(i);//输出水仙花数end;```首先在程序中使用`for`循环来遍历100到999中的所有数。
21、for(j=1;j
22、a=a/10;
23、方法二:设水仙花数的百位十位个位数字分别是i、j、k,通过遍历i、j、k的所有取值(注意i不能为0,对于三位数而言),并进行判断。
24、接下来使用一个`if`语句来判断当前数是否为水仙花数,如果是则使用`writeln`函数来输出这个数。
25、printf("p=%ld,i=%ld\n",p,i);
26、p+=pow(s[j],i);
27、q=n;
28、然后使用算术运算符来取出这些数的百位数、十位数和个位数。
29、p=0;
30、方法一:首先确定水仙花数n的可能的取值的范围,因为n是一个三位数,所以其取值在100-999之前变化。显然这是一个技术控制二点循环。对于n的每一个可能的取值,首先分离出其百位数字i、十位数字j、个位数字k,然后通过判定可确认n是否为水仙花数。
31、for(j=1;a>=10;++j){
32、PrivateSubForm1_Click()DimaAsInteger,bAsInteger,cAsIntegerFora=1To9Forb=0To9Forc=0To9Ifa^3+b^3+c^3=a*100+b*10+cThenForm1.Printa*100+b*10+cEndIfNextcNextbNextaEnd
33、s[j]=n/(a/10);
34、printf("j=%ld,a=%ld\n",j,a);
35、)printf("thedata%5disyes\n",i)
36、a=a*10;
37、printf("%ld该数不是水仙花数",q);
38、longn,p;
39、#include
40、#include
41、return0;