Saturday, January 18, 2025
Google search engine
HomeData Modelling & AIPrint first N terms of Lower Wythoff sequence

Print first N terms of Lower Wythoff sequence

Given an integer N, the task is to print the first N terms of the Lower Wythoff sequence

Examples: 

Input: N = 5 
Output: 1, 3, 4, 6, 8

Input: N = 10 
Output: 1, 3, 4, 6, 8, 9, 11, 12, 14, 16 
 

Approach: Lower Wythoff sequence is a sequence whose nth term is a(n) = floor(n * phi) where phi = (1 + sqrt(5)) / 2. So, we run a loop and find the first n terms of the sequence.

Below is the implementation of the above approach:  

C++




// C++ implementation of the approach
#include <bits/stdc++.h>
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




<script>
 
// Javascript implementation of above approach
 
// Function to print the first n terms
// of the lower Wythoff sequence
function lowerWythoff(n)
{
     
    // Calculate value of phi
    var phi = (1 + Math.sqrt(5)) / 2.0;
 
    // Find the numbers
    for(var i = 1; i <= n; i++)
    {
         
        // a(n) = floor(n * phi)
        var ans = Math.floor(i * phi);
 
        // Print the nth numbers
        document.write( ans);
 
        if (i != n)
            document.write(", ");
    }
}
 
// Driver code
var n = 5;
 
lowerWythoff(n);
 
// This code is contributed by SoumikMondal
 
</script>


Output: 

1, 3, 4, 6, 8

 

Time Complexity: O(n)

Auxiliary Space: O(1)

Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!

RELATED ARTICLES

Most Popular

Recent Comments