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> |
1, 3, 4, 6, 8
Time Complexity: O(n)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!