当前位置: 代码迷 >> C语言 >> [求助]请教这个程序该怎么做?
  详细解决方案

[求助]请教这个程序该怎么做?

热度:269   发布时间:2006-10-26 21:56:28.0
[求助]请教这个程序该怎么做?
求sum=1^6+2^6+3^6+4^6+5^6;
要求:设计一个函数求n6 ,在主函数中调用这个函数,求出累加和sum

搜索更多相关的解决方案: 设计  

----------------解决方案--------------------------------------------------------
n6 是n^6

----------------解决方案--------------------------------------------------------
    先用递归求出n^6,在用循环累加!这样行吗?
----------------解决方案--------------------------------------------------------

我想也是这样 可是我就不知道怎么在main中设计循环 下面这个是我写的 帮我改改:
#include <stdio.h>

main()
{
int i,sum,y,m,n;
scanf("%d%d",&m,&n);
y=fac(m,n);
for(;;)
{ //帮我加加

}
printf("%d\n",y);
getch();
}
int fac(int m,int n)
{
int x,i;
if(n==1)
x=m;
else
x=fac(m,n-1)*m;
return x;
}



----------------解决方案--------------------------------------------------------
不是很难吧,楼主自己多想想.给点提示.
pow(i,j)这个函数可以求i^j.
然后就是一重循环将这些数相加.
----------------解决方案--------------------------------------------------------

如果不用pow 自己设计一个改怎么写?


----------------解决方案--------------------------------------------------------
以下是引用hyl8729252在2006-10-26 22:06:47的发言:

我想也是这样 可是我就不知道怎么在main中设计循环 下面这个是我写的 帮我改改:
#include <stdio.h>

main()
{
int i,sum=0,m,n;
scanf("%d%d",&m,&n);
for(i=1;i<=5;i++)
{ //帮我加加
sum+=fac(i,n);
}
printf("%d\n",y);
getch();
}
int fac(int m,int n)
{
int x,i;
if(n==1)
x=m;
else
x=fac(m,n-1)*m;
return x;
}




----------------解决方案--------------------------------------------------------

以下是引用hyl8729252在2006-10-26 22:10:58的发言:

如果不用pow 自己设计一个改怎么写?

两重循环可以搞定.
sum=0;
for(i=1;i<=5;i++)
{
t=1;
for(j=1;j<=6;j++)//生成i^j
{
t=t*i;
}
sum+=t;
}


----------------解决方案--------------------------------------------------------
哦!!  看来还要多多看看函数这部分  不是很熟悉啊!  谢谢啦
----------------解决方案--------------------------------------------------------

那种方法 程序更有效率呢?


----------------解决方案--------------------------------------------------------
  相关解决方案