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, 8Input: 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)