Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#中打印斐波那契数列的后续第n个数?_C#_Arrays_Fibonacci - Fatal编程技术网

如何在C#中打印斐波那契数列的后续第n个数?

如何在C#中打印斐波那契数列的后续第n个数?,c#,arrays,fibonacci,C#,Arrays,Fibonacci,我知道早些时候可能有人问过类似的问题 我的代码的输出是基于用户输入的数字长度加1: i、 e.如果用户键入“5”,则为0、1、1、2、3、8 但是,我尝试在用户提供了一些号码后打印后续的第n个号码。它应该是这样的:如果用户输入“5”,那么输出应该是5、8、13、21、34 我应该如何修改代码来实现这一点 谢谢你的帮助 Console.WriteLine("Please enter any nth number of the Fibonacci series.");

我知道早些时候可能有人问过类似的问题

我的代码的输出是基于用户输入的数字长度加1:

i、 e.如果用户键入“5”,则为0、1、1、2、3、8

但是,我尝试在用户提供了一些号码后打印后续的第n个号码。它应该是这样的:如果用户输入“5”,那么输出应该是5、8、13、21、34

我应该如何修改代码来实现这一点

谢谢你的帮助

        Console.WriteLine("Please enter any nth number of the Fibonacci series.");

        string user_num = Console.ReadLine();

        int userNumber = int.Parse(user_num);

        int[] FibNum = new int[userNumber];

        int firstNum = 1;
        Console.Write("{0},", firstNum);

        int secondNum = 1;
        Console.Write("{0},", secondNum);

        int sumNum = 0;

        while (sumNum <= userNumber)
        {
            sumNum = (firstNum + secondNum);
            Console.Write("{0}, ", sumNum);

            firstNum = secondNum;
            secondNum = sumNum;               
        }

        Console.ReadLine(); 
Console.WriteLine(“请输入Fibonacci系列的任意第n个数字”);
字符串user_num=Console.ReadLine();
int userNumber=int.Parse(user_num);
int[]FibNum=新int[userNumber];
int firstNum=1;
Write(“{0},”,firstNum);
int secondNum=1;
Write(“{0},”,secondNum);
int sumNum=0;

虽然(sumNum要在用户输入值之后获得您的
firstNum
sencondNum
,您必须从一开始就计算序列。但是,您只需在打印之前输入
if
,检查值是否大于或等于用户输入,然后打印。否则,只需忽略它

 Console.WriteLine("Please enter any nth number of the Fibonacci series.");

    string user_num = Console.ReadLine();

    int userNumber = int.Parse(user_num);

    int[] FibNum = new int[userNumber];

    int firstNum = 1;
    int secondNum = 1;
  if(userNumber<=1){  
    Console.Write("{0},", firstNum);
    Console.Write("{0},", secondNum);
   }
    int sumNum = 0;

    while (sumNum <= userNumber)
    {
        sumNum = (firstNum + secondNum);
        if(sumNum>=userNumber)   //check to filter less values
        Console.Write("{0}, ", sumNum);

        firstNum = secondNum;
        secondNum = sumNum;               
    }

    Console.ReadLine(); 
Console.WriteLine(“请输入Fibonacci系列的任意第n个数字”);
字符串user_num=Console.ReadLine();
int userNumber=int.Parse(user_num);
int[]FibNum=新int[userNumber];
int firstNum=1;
int secondNum=1;

if(userNumberThank your your your suggestion。它仍然在用户提供的数字之前输出“1,1”,并且不会打印一系列后续数字。@Luzing我编辑了代码。如果有,您可以再添加一个。请查看代码;)现在我更好地理解了逻辑,谢谢。您只需要使用条件if语句约束代码。是否可以打印其他后续数字,而不仅仅是给定数字之后的数字?我们将更改您的while条件,
while(sumNum