c语言,求四位水仙花数 就按照水仙花的定义做就行。includeincludeint main(void){for(int i=1000;i;i+){int a=i/1000;int b=(i-a*1000)/100;int c=(i%100)/10;int d=i%10;if(pow(a,4)+pow(b,4)+pow(c,4)+pow(d,4)=i)printf(\"%d\\n\",i);}return 0;}其中pow函数返回的double值可以直接和i做比较,因为本身就没有小数的问题。
c#算,4位\ 你要求的这个4位数也叫四叶玫瑰数,由于水仙花数的特性,即n位数,是各个位数的n次幂之和,可以定义一个算法,我以最简单的遍历求值算法为例,static void Main(string[]args){for(int i=1000;i;i+){i肯定是4位数string orig_num=i.ToString();double_tho=Convert.ToDouble(orig_num.Substring(0,1));千double_hun=Convert.ToDouble(orig_num.Substring(1,1));百double_ten=Convert.ToDouble(orig_num.Substring(2,1));十double_one=Convert.ToDouble(orig_num.Substring(3,1));个double sum=Math.Pow(_tho,4)+Math.Pow(_hun,4)+Math.Pow(_ten,4)+Math.Pow(_one,4);if(sum=i)/如果满足各个位数的4次方之和等于这个数本身,输出{Console.WriteLine(i.ToString());}}Console.ReadKey();}可以算出3个4位水仙花数。以上代码可以稍微拓展一下,利用orig_num.Lenght 再做一个遍历,求出各个位数的值,然后求平方,即可以算出所有双精度浮点数索引内的水仙花数。
一段四位数的水仙花数的程序,c语言编写的!!! 程序倒是写出来很简单,但是告诉你:四位数是没有所谓的水仙花数的(程序运行结果也是如此)。水仙花数的定义中明确了是一个三位数。还是把程序贴上:includeint main(void){int i,j,k,t;for(i=1;i;i+){for(j=0;j;j+){for(k=0;k;k+){for(t=0;t;t+){if(1000*i+100*j+10*k+t=i*i*i+j*j*j+k*k*k+t*t*t){printf(\"%d%d%d%d\\n\",i,j,k,t);}}}}}return 0;}