📌  相关文章
📜  打印下Wythoff序列的前N个项

📅  最后修改于: 2021-06-26 19:52:13             🧑  作者: Mango

给定整数N ,任务是打印Lower Wythoff序列的前N个项。

例子:

方法:低位Wythoff序列是n项为a(n)= floor(n * phi)的序列,其中phi =(1 + sqrt(5))/ 2 。因此,我们运行一个循环并找到序列的前n个项。

下面是上述方法的实现:

C++
// C++ implementation of the approach
#include 
using namespace std;
 
// Function to print the first n terms
// of the lower Wythoff sequence
void lowerWythoff(int n)
{
 
    // Calculate value of phi
    double phi = (1 + sqrt(5)) / 2.0;
 
    // Find the numbers
    for (int i = 1; i <= n; i++) {
 
        // a(n) = floor(n * phi)
        double ans = floor(i * phi);
 
        // Print the nth numbers
        cout << ans;
 
        if (i != n)
            cout << ", ";
    }
}
 
// Driver code
int main()
{
    int n = 5;
 
    lowerWythoff(n);
 
    return 0;
}


Java
// Java implementation of the approach
class GFG
{
 
// Function to print the first n terms
// of the lower Wythoff sequence
static void lowerWythoff(int n)
{
 
    // Calculate value of phi
    double phi = (1 + Math.sqrt(5)) / 2.0;
 
    // Find the numbers
    for (int i = 1; i <= n; i++)
    {
 
        // a(n) = floor(n * phi)
        double ans = Math.floor(i * phi);
 
        // Print the nth numbers
        System.out.print((int)ans);
 
        if (i != n)
            System.out.print(" , ");
    }
}
 
// Driver code
public static void main(String[] args)
{
    int n = 5;
 
    lowerWythoff(n);
}
}
 
// This code is contributed by 29AjayKumar


Python3
# Python3 implementation of the approach
 
# from math import sqrt,floor
from math import sqrt, floor
 
# Function to print the first n terms
# of the lower Wythoff sequence
def lowerWythoff(n) :
 
    # Calculate value of phi
    phi = (1 + sqrt(5)) / 2;
 
    # Find the numbers
    for i in range(1, n + 1) :
 
        # a(n) = floor(n * phi)
        ans = floor(i * phi);
 
        # Print the nth numbers
        print(ans,end="");
 
        if (i != n) :
            print( ", ",end = "");
 
# Driver code
if __name__ == "__main__" :
 
    n = 5;
    lowerWythoff(n);
 
# This code is contributed by AnkitRai01


C#
// C# implementation of the approach
using System;
 
class GFG
{
     
// Function to print the first n terms
// of the lower Wythoff sequence
static void lowerWythoff(int n)
{
 
    // Calculate value of phi
    double phi = (1 + Math.Sqrt(5)) / 2.0;
 
    // Find the numbers
    for (int i = 1; i <= n; i++)
    {
 
        // a(n) = floor(n * phi)
        double ans = Math.Floor(i * phi);
 
        // Print the nth numbers
        Console.Write((int)ans);
 
        if (i != n)
            Console.Write(" , ");
    }
}
 
// Driver code
static public void Main ()
{
    int n = 5;
 
    lowerWythoff(n);
}
}
 
// This code is contributed by ajit.


Javascript


输出:
1, 3, 4, 6, 8

如果您希望与行业专家一起参加现场课程,请参阅《 Geeks现场课程》和《 Geeks现场课程美国》。