一道C#循环程序设计题求助,尽快哦!

1、编写C#程序输出Fibonacci数列的前20项。Fibnacci数列的第一项和第二项为1,其后各项均为其前两项和,如1,1,2,3,5,8.......2、编写C#... 1、编写C#程序输出Fibonacci数列的前20项。Fibnacci数列的第一项和第二项为1,其后各项均为其前两项和,如1,1,2,3,5,8.......

2、编写C#程序输出水仙花数。水仙花数是三位数,其个位的立方加上十位的立方加上百位的立方的和等于这个数本身。如153=13+53+33
展开
 我来答
Kesin_Xu
2010-10-12 · TA获得超过380个赞
知道小有建树答主
回答量:82
采纳率:0%
帮助的人:123万
展开全部
这个常用递归~~ 这两段在我本机测试通过,可能还不怎么精炼··你自己改精简点吧 ~· 希望能帮到你。。

1.输出Fibonacci数列前20项:
using System;
class Fabonacci{
public static void Main()
{
for (int i=1;i<=20;i++)
{
Console.WriteLine("第"+i+"项:"+Fibonacci(i));
}
Console.WriteLine("按任意键退出!");
Console.Read();
}
private static int Fibonacci(int n)
{
if (n<3)
return 1;
else
return Fibonacci(n-1)+Fibonacci(n-2);
}
}

-------------------------------------------
2.输出三位数的水仙花数:

using System;
class shuixh
{
public static void Main()
{
Funtion(3); //3是3位数.
Console.WriteLine("按任意键退出!");
Console.Read();
}

static int Funtion(int s)
{

int i;
int j;
int k;
int n;
for (n = 100; n < 999; n++)
{

i = n / 100;
j = n / 10 - i * 10;
k = n % 10;
if (n == Recursion(i, s) + Recursion(j, s) + Recursion(k, s))
Console.WriteLine(n);
}
return 0;
}

static int Recursion(int n, int k)
{
int m;
if (k == 1) return n;
else
{
m = n * Recursion(n, k - 1);
}
return m;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
wuzhengyinyue
2010-10-13 · TA获得超过159个赞
知道答主
回答量:39
采纳率:0%
帮助的人:56.5万
展开全部
第一题:
List<int>FibonacciMath=new List<int>();
FibonacciMath.Add(1);
for (int i = 1,j=1; j<20;j++ )
{
FibonacciMath.Add(i);
i = FibonacciMath[j - 1] + FibonacciMath[j];
}
//遍历FibonacciMath集合 就是你要的数字
/*
下面是遍历FibonacciMath结合得到的数据
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
*/
第二题:
函数Math.Pow(x,y)(x的y次方)
for (int i = 100; i < 1000; i++)
{
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 100;
if ( i==Math.Pow(ge, 3) + Math.Pow(shi, 3) + Math.Pow(bai, 3))
{
Console.WriteLine(i);
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ainirui5555
2010-10-12 · 超过18用户采纳过TA的回答
知道答主
回答量:75
采纳率:0%
帮助的人:0
展开全部
老兄,上面的那个题看不懂什么意思,下面的这道题也看着含糊,理解大概意思你是想要3位数的水仙花吧?
不明你意,我猜想是要1000以内的水仙花数字。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace lianxi1
{
class Program
{
static void Main(string[] args)
{
int i;
for (i = 100; i < 1000; i++)
{
if (((i % 10) * (i % 10) * (i % 10)) + ((i / 100) * (i / 100) * (i / 100)) + ((i / 10 % 10) * (i / 10 % 10) * (i / 10 % 10)) == i)
{
Console.WriteLine(i);
}
}
}
}
}
这个程序能输出1000以内的水仙花数,没写readLine,你可以按着ctrl+f5就可以输出了。
不知道你是不是要这个。嘎嘎。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mzcheng1
2010-10-12 · TA获得超过300个赞
知道小有建树答主
回答量:421
采纳率:0%
帮助的人:223万
展开全部
1,
int fib(int a)
{
if(a < = 1) return a;
else return fib(a-1)+fib(a-2);
}
sum = fib(20);
Console.Write(sum);

2,
int a,b,c;
for(int i = 100;i<1000;i++)
{
a = i%10;
b = (i/10)%10;
c = i/100;
if(i == (a*a*a + b*b*b + c*c*c));
Console.Write(i);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
doug2000
2010-10-12 · 超过26用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:39.2万
展开全部
//输出Fibonacci数列的前20项
int first = 1;
int second = 1;
int third = 0;

Console.WriteLine(first);
Console.WriteLine(second);

for (int i = 0; i < 18; i++)
{
third = first + second;
first = second;
second = third;

Console.WriteLine(third);
}

//输出水仙花数
for (int i = 100; i < 1000; i++)
{
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 100;
if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i)
{
Console.WriteLine(i);
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式