一道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 展开
2、编写C#程序输出水仙花数。水仙花数是三位数,其个位的立方加上十位的立方加上百位的立方的和等于这个数本身。如153=13+53+33 展开
5个回答
展开全部
这个常用递归~~ 这两段在我本机测试通过,可能还不怎么精炼··你自己改精简点吧 ~· 希望能帮到你。。
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;
}
}
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 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
第一题:
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);
}
}
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);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
老兄,上面的那个题看不懂什么意思,下面的这道题也看着含糊,理解大概意思你是想要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就可以输出了。
不知道你是不是要这个。嘎嘎。
不明你意,我猜想是要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就可以输出了。
不知道你是不是要这个。嘎嘎。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
}
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);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
//输出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);
}
}
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);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询