什么是面霜乳化:C语言问题

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 10:44:22
1、 编写一个函数判断各位数字的立方和等于它本身的数,要求从主函数中输入m和n,找出m到n之间的所有满足的数。例如:
153=13+53+33

2、编写递归函数求阶乘,求1 + 1/2! +....+ 1/n!
就是这两个问题!
我想说的是第1个问题和水仙花数的问题相似
第2个 我完全不会 这两个题是我们老师布置的作业 要马上交的!希望大家把源代码写出来 ,作为初学者,谢谢了!
刚快呀!在这里谢谢大家了!

#include "stdio.h"

//e求得只能到2.718282
int IsNumNeeded(int i);
float Fuc(int N);
void main()
{
/*1*/
int m,n;
m = 0;
n = 0;
printf("Please input two numbers(m<n):\n");
printf("m----");
scanf("%d",&m);
printf("n----");
scanf("%d",&n);
while(m>n)
{
printf("Please input two numbers again:\n");
printf("m----");
scanf("%d",&m);
printf("n----");
scanf("%d",&n);
}
for(int i=m;i<=n;i++)
{
if(IsNumNeeded(i))
{
printf("%d\n",i); //print the num
}
}

/*2*/
int N;
float result;
printf("Input N:\n");
scanf("%d",&N);
result = 1+Fuc(N);
printf("Result is %f\n",result);

}

int IsNumNeeded(int i)
{
// 获取i的位数
int count=0;
int cal;
cal = i;
while(cal>0)
{
count ++;
cal /= 10;
}

// 存储每个位置的数
int *p = new int[count];
cal = i;
int tmp = count;
while(cal>0)
{
tmp --;
p[tmp] = cal%10;
cal /= 10;
}

// 开始判断
int Value = 0;
for(int loop=0;loop<count;loop++)
{
Value += (p[loop]*p[loop]*p[loop]);
}
if(Value==i)
return 1;
else
return 0;
delete p;
}
float factorial(int M);
float Fuc(int N)
{
if(N==1)
return 1;
else
return (1/factorial(N) + Fuc(N-1));
}

float factorial(int M)
{
if(M==1)
return 1;
else
return M*factorial(M-1);
}

第二题是数据结构书上的例子,递归,几行代码就可以。
第一题我题目都听不明白。立方和??什么东西啊。

这不上很难把,用FOR语句可以

第二个我只晓得1!+2!+3!……n!怎样写。。
不过现在没有时间

main()
{
int n=100,i,j,k;
printf("water flower numberis:\n");
while(n<999)
{
n=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("%d\n",n);
}
}
这是第一个问题

我从资料里给你找到了
#include"math.h"
main(){
int i,x,a[10],m,n,s,k;
for(i=0;i<=9;i++)a[i]=i*i*i;
for(x=3;x<=2916;x+=3)
{n=x;
while(1)
for(i=k;i>=1;i--)
{m=n/pow(10,i-1);
n=n%(int)pow(10,i-1);
s+=a[m];
if(i! =k)printf("+");
printf("%d^3",m);
}
printf("%d\n",s);
if(s==153){printf("\n");break;}
else n=s;
}