大虾帮忙解决一下很简单的C语言习题
编写函数,输出所有的“水仙花”数。水仙花就是指一个3位数,其各位数字立方和等于该数本身....就用c++语言编写就好了,用函数递归调用的方法。急求!...
编写函数,输出所有的“水仙花”数。水仙花就是指一个3位数,其各位数字立方和等于该数本身....
就用c++语言编写就好了,用函数递归调用的方法。急求! 展开
就用c++语言编写就好了,用函数递归调用的方法。急求! 展开
3个回答
展开全部
水仙花数C++递归算法,不是自己做的
using System;
namespace daffodil
{
class Daffodil
{
static void Main(string[] args)
{
int i, n;
Daffodil d =new Daffodil();
for (i = 100; i < 1000; i++)
{
n=d.power(i);
if (n == i)
Console.WriteLine("{0}", i);
}
}
int power(int n)
{
if(n<10)
return n*n*n;
else
return (int)Math.Pow(n%10,3)+power((int)n/10);
}
}
}
using System;
namespace daffodil
{
class Daffodil
{
static void Main(string[] args)
{
int i, n;
Daffodil d =new Daffodil();
for (i = 100; i < 1000; i++)
{
n=d.power(i);
if (n == i)
Console.WriteLine("{0}", i);
}
}
int power(int n)
{
if(n<10)
return n*n*n;
else
return (int)Math.Pow(n%10,3)+power((int)n/10);
}
}
}
参考资料: http://zhidao.baidu.com/question/125799785.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
using namespace std;
int isok(int i)
{
if(i<10)
return i;
else
{
if(i<100)
{
int a=isok(i/10),b=isok(i%10);
return a*a*a+b*b*b;
}
else
{
int c=i%10;
return c*c*c+isok(i/10)==i;
}
}
}
int main()
{
for(int i=100;i<=999;i++)
{
if(isok(i))
cout<<i<<endl;
}
return 0;
}
递归实现,如上可以运行,已经测试了。
输出结果
153
370
371
407
using namespace std;
int isok(int i)
{
if(i<10)
return i;
else
{
if(i<100)
{
int a=isok(i/10),b=isok(i%10);
return a*a*a+b*b*b;
}
else
{
int c=i%10;
return c*c*c+isok(i/10)==i;
}
}
}
int main()
{
for(int i=100;i<=999;i++)
{
if(isok(i))
cout<<i<<endl;
}
return 0;
}
递归实现,如上可以运行,已经测试了。
输出结果
153
370
371
407
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream>
using namespace std;
int main()
{int j,k,i;
for(i=0;i<=9;i++)
{for(j=0;j<=9;j++)
{for(k=1;k<=9;k++)
{if((k*100+j*10+i)!=(k*k*k)+(j*j*j)+(i*i*i))
{continue;}
cout<<k<<j<<i<<" ";
}
}
}
return 0;
}
using namespace std;
int main()
{int j,k,i;
for(i=0;i<=9;i++)
{for(j=0;j<=9;j++)
{for(k=1;k<=9;k++)
{if((k*100+j*10+i)!=(k*k*k)+(j*j*j)+(i*i*i))
{continue;}
cout<<k<<j<<i<<" ";
}
}
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询