求水仙花数和Fibonacci 数列的代码片段

img

img


求水仙花数和Fibonacci 数列的代码片段
求水仙花数和Fibonacci 数列的代码片段
求水仙花数和Fibonacci 数列的代码片段
求水仙花数和Fibonacci 数列的代码片段
我试了好多次都显示的是编译错误

//水仙花数
#include <stdio.h>
int main()
{
int hun, ten, ind, n;
printf("result is:");
for( n=100; n<1000; n++ ) /整数的取值范围/
{
hun = n / 100;
ten = (n-hun100) / 10;
ind = n % 10;
if(n == hun
hunhun + tententen + indind*ind) /各位上的立方和是否与原数n相等/
printf("%d ", n);
}
printf("\n");

return 0;

}
迭代方式求斐波那契数列第n项
#include<stdio.h>
int main()
{
int a = 1;
int b = 1;
int c = 1;
int n = 0;
scanf("%d", &n);
while (n>2)
{
c = a + b;
a = b;
b = c;
n--;
}
printf("%d\n", c);
return 0;
}
求斐波那契数列第n项,采用递归
#include<stdio.h>

int Fib(int n)
{
if (n <= 2)
return 1;
return Fib(n - 1) + Fib(n - 2);
}
int main()
{
int n = 0;
scanf("%d", &n);
printf("%d\n",Fib(n));
return 0;
}
如有帮助,请点个赞


#include<stdio.h>
int main()
{
     int i,a,b,c;
     for(i=999;i>=100;i--)
     {
         a=i%10;b=(i/10)%10;c=(i/100)%10;
      if (i==a*a*a+b*b*b+c*c*c)
       printf("%d ",i);
     }
     return 0;
}
#include<stdio.h>
int main()
{int n,i;
   scanf("%d",&n);
   int a[n];
   a[0]=1;a[1]=1;
   for(i=2;i<n;i++)
   a[i]=a[i-1]+a[i-2];
   for(i=0;i<n;i++)
   printf("%d ",a[i]);
   return 0;
   }
    

//题目一,Fibonacci,题目标明考函数和递归
//虽然我用F#写,但用其他语言写也都是一样。无非是换成其他语言的if,swich
//用F#么,只是我在训练自己的纯函数编程代码

let rec fb i= 
 match i with
 | 0->7
 | 1->11
 | n->fb(n-1)+fb(n-2)
printf "%d" (fb 2)
printf "\r\n"

//题目2 水仙花数,题目标明 为流程控制
//那么控制啥呢,从题目分析可知,主要控制的是Range范围 
//a,b大小未知,位数要>=3
//F#可以组合函数,不过练习。我先把函数拆开,比较好看点。F#组合起来的话不熟悉的人,那个玩意看着都头晕

//生成控制
let r (a:int) (b:int)=
   let min1=System.Math.Max(100, System.Math.Min(a,b))
   let max1=System.Math.Max(a,b)
   //最大值比100都小就返回空集合
   //否则取最小值和100比较,最小比100小取100
   if max1<100 then [] else  [min1 .. max1]
 
 //递归计算每位立方和
let rec compute  i =
     let y=i%10
     match i with
    | n when n<10-> n*n*n    
    | _-> y*y*y+compute(i/10)

//统计,从给定列表中析出立方和和字面值相同的
let count arr=
 match arr with
  |[]->0
  |_->(List.filter(fun p->p=compute p) arr).Length

printf "%d" (count (r 3 1000))

ps:代码其实无所谓用啥语言,这代码如果明白意思,翻译成C++,C#,java都一样。题目2我特意没有用F#的函数组合就是因为目前这代码还是通用语法,还可以转换成任意语言的