c语言求所有三位数水仙花数c语言

用伪代码写出求所有三位数的水仙花数_百度知道
用伪代码写出求所有三位数的水仙花数
提问者采纳
解此题的关键是怎能样从一个三位数中分离百位数、十位数、个位数。可以这样做,设该三位数以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.具体程序如下:for i=100 to 999a=INT(i/100)b=INT((i-100*a)/10)c=i-int(i/10)*10 if i=a*a*a+b*b*b+c*c*c then print i next 1end 其结果为:153\370/371/407
提问者评价
其他类似问题
按默认排序
其他1条回答
用C语言描述方便,伪代码别扭死了。int ge,shi,bai,i,j=0;int ss[1000],s;for(i=100;i&1000;i++){ge=i%10;shi=((i-ge)%100)/10;bai=i/100;s=ge^3+bai^3+shi^3;if(s==i)ss[j++]=i;}自己现写的, 要分!
水仙花数的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁> 编程题:输出所有的水仙花数,所谓水仙花数是指一个数3位数,其
编程题:输出所有的水仙花数,所谓水仙花数是指一个数3位数,其
输出所有的水仙花数,把谓水仙花数是指一个数3位数,其各各位数字立方和等于其本身,
例如: 153 = 1*1*1 + 3*3*3 + 5*5*5
class DafodilNumber{
public static void main(String[] args){
System.out.println(“以下是所有的水仙花数”);
int number = 100;???? // 由于水仙花数是三位数,故由100开始算起
int i, j,???? // i? j? k? 分别为number 的百位、十位、个位
for ( number&1000; number++){
i=number/100;? j=(number-i*100)/10;? k=number-i*100-j*10;
sum=i*i*i+j*j*j+k*k*k;
if (sum==number) System.out.println(number+” is a dafodil number! “);
(发布时间:)一个三位数的水仙花数 的程序_百度知道
一个三位数的水仙花数 的程序
输出所有的“水仙花数”,是指三位十进制数,该数的各位数立方之和等于该数本身。例如,153是一个水仙花数,因为1^3+5^3+3^3=153
#include &stdio.h&main(){
int input_number,one_level,ten_level,hun_
for(input_number=100;input_number&1000;input_number++)
one_level=input_number%10;
ten_level=(input_number/10)%10;
hun_level=input_number/100;
if(input_number==one_level*one_level*one_level+ten_level*ten_level*ten_level+hun_level*hun_level*hun_level)
printf(&%d\n&,input_number);
其他类似问题
水仙花数的相关知识
其他5条回答
用个三层嵌套的For循环就可以了啊。
#include &stdio.h&main(){
int m,g,s,b,
for(m=100;m&1000;m++)
s=(m/10)%10;
temp=g*g*g+s*s*s+b*b*b;
if(temp==m)
printf(&%d\n&,m);
void main(){
int i,a,b,c;
for(i=100;i&1000;i++)
b=(i%100)/10;
d=a*a+b*b+c*c;
if(i==d) printf(&%d &,i);
#include &stdafx.h&#include &stdio.h&int main(int argc, char* argv[]){ int i, j, k, sum, for(i = 1; i & 10; i ++) {
for(j = 0; j & 10; j ++)
for(k = 0; k & 10; k ++)
sum += (i * i * i);
sum += (j * j * j);
sum += (k * k * k);
num = (i * 100) + (j * 10) +
if(sum == num)
printf(&%d\n&, num);
} } return 0;}
个人认为这个程序比较好#include &stdio.h&main(){
int m,g,s,b,
for(m=100;m&1000;m++)
s=(m/10)%10;
temp=g*g*g+s*s*s+b*b*b;
if(temp==m)
printf(&%d\n&,m);
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁等 级:论坛游民
帖 子:33
专家分:23
如果我这段程序的格式有什么不足之处还望各位指出,谢了!
等 级:论坛游民
帖 子:36
专家分:59
#include &stdio.h&
int i,j,k,n;
printf(&'water flower'number is:&);
 for(n=100;n&1000;n++)
  i=n/100;/*分解出百位*/
  j=n/10%10;/*分解出十位*/
  k=n%10;/*分解出个位*/
  if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
   printf(&%-5d&,n);
printf(&\n&);
这个只是一个简单的求1000以内的所有水仙花数,当然你也可以改写成你所贴那种函数形式,你就参考一下吧,希望有用。
等 级:论坛游民
帖 子:33
专家分:23
我的那个就可以求出1000以内的数了,可是我是想求出所有数。不过还是感谢了,那个分解的方法给我一些启发,我再看看
等 级:论坛游民
帖 子:33
专家分:23
程序代码:#include&stdio.h&
&&& int n,n1;
void main()
&&& int fun(int);
&&& int a,b,c;
&&& printf(&输入要输出数的位数:\n&);
&&& scanf(&%d&,&n1);
&&& for(i=<font color=#;i&fun(<font color=#);i++)
&&&&&&&&if(i/<font color=#0*<font color=#0+i%<font color=#0/<font color=#*<font color=#+i%<font color=#0%<font color=#/<font color=#*<font color=#+i%<font color=#0%<font color=#%<font color=#==fun(i%<font color=#0%<font color=#%<font color=#)+fun(i%<font color=#0%<font color=#/<font color=#)+fun(i%<font color=#0/<font color=#)+fun(n/<font color=#0))
&&&&&&&&&&&&printf(&%d&,i);
int fun(int x)
&&& int y=<font color=#;
&&& for(;n&<font color=#;n--)
&&&&&&&&y=y*x;
&&& return(y);
我想我尽力了,但还是错了
等 级:业余侠客
帖 子:64
专家分:248
水仙花数,就是指一个三位数,其各个数的立方和等于该数。如果你非要输入位数,试试这个吧:
#include&stdio.h&
#include &math.h&
void main()
&&& int n=0,n1=0;
&&& int sum=0,a=0;
&&& printf(&输入要输出数的位数:\n&);
&&& scanf(&%d&,&n1);
&&& for(a=100;a&pow(10,n1);a++)
&&&&&&&&n=a;
&&&&&&&&while(n%10&0)&&&&&&&&
&&&&&&&&&&&&sum+=pow((n%10),3);
&&&&&&&&&&&&n=(n-n%10)/10;
&&&&&&&&}&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&
&&&&&&&&if(a==sum)
&&&&&&&&&&&&printf(&%d\n&,a);
&&&&&&&&sum=0;
等 级:论坛游民
帖 子:59
专家分:72
#include&stdio.h&
#include &math.h&
int fun(int n)
{int i,s=1;
for(i=1;i&=n;i++)
void main()
&&& int n,n1=0;
&&&long sum,s,a=0,x[8],y=0;
&&& printf(&输入要输出数的位数(小于8位):\n&);
&&& scanf(&%d&,&n1);
&&& if(n1&=9){printf(&超出范围\n&);
&&&&&&&&&printf(&输入要输出数的位数:\n&);
&&&&&&&&&&&&scanf(&%d&,&n1);}
&&& for(sum=fun(n1-1);sum&fun(n1);sum++)
&&& {&&&s=
&&&&&& for(n=0;n&=n1;n++)
&&&&&&&&{x[n]=s%10;
&&&&&&&&&s=(s-x[n])/10;
&&&&&&&&&y=y+x[n]*x[n]*x[n];
&&&&&if(y==sum)printf(&%ld&,sum);
暂时保存在这儿,我没电脑····以后修改,或请教大虾帮忙吧····
等 级:论坛游民
帖 子:33
专家分:23
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
所以不止四个数是水仙花数
等 级:ID已被封
帖 子:38
专家分:29
兄弟你理解错误了,水仙数就是一个三位数的,不是4位,5位。。。。。。。。。。。。。
等 级:论坛游民
帖 子:33
专家分:23
我是从百度词条中搜索的~~~~~~~~
版权所有,并保留所有权利。
Powered by , Processed in 0.023781 second(s), 7 queries.
Copyright&, BCCN.NET, All Rights ReservedC语言程序设计作业水仙花编程_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
30页1下载券5页免费1页免费5页免费10页4下载券 4页免费3页免费1页免费3页免费3页免费
喜欢此文档的还喜欢3页免费3页1下载券3页2下载券3页免费9页1下载券
C语言程序设计作业水仙花编程|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢

我要回帖

更多关于 求所有水仙花数 的文章

 

随机推荐