Given a number N, the task is to print N even numbers and N odd numbers from 1.
Examples:
Input: N = 5 Output: Even: 2 4 6 8 10 Odd: 1 3 5 7 9 Input: N = 3 Output: Even: 2 4 6 Odd: 1 3 5
Approach:
-
For Even numbers:
- Even numbers are numbers that are divisible by 2.
- To print even numbers from 1 to N, traverse each number from 1.
- Check if these numbers are divisible by 2.
- If true, print that number.
-
For Odd numbers:
- Odd numbers are numbers that are not divisible by 2.
- To print Odd numbers from 1 to N, traverse each number from 1.
- Check if these numbers are not divisible by 2.
- If true, print that number.
Below is the implementation of the above approach:
C++
// C++ program to print all Even // and Odd numbers from 1 to N #include <bits/stdc++.h> using namespace std;
// Function to print even numbers void printEvenNumbers( int N)
{ cout << "Even: " ;
for ( int i = 1; i <= 2 * N; i++) {
// Numbers that are divisible by 2
if (i % 2 == 0)
cout << i << " " ;
}
} // Function to print odd numbers void printOddNumbers( int N)
{ cout << "\nOdd: " ;
for ( int i = 1; i <= 2 * N; i++) {
// Numbers that are not divisible by 2
if (i % 2 != 0)
cout << i << " " ;
}
} // Driver code int main()
{ int N = 5;
printEvenNumbers(N);
printOddNumbers(N);
return 0;
} |
Output
Even: 2 4 6 8 10 Odd: 1 3 5 7 9
Time Complexity: O(N)
Auxiliary Space: O(1), As constant extra space is used.
Method: Using bitwise & Operator
C++
// C++ program to print all Even // and Odd numbers from 1 to N #include <bits/stdc++.h> using namespace std;
// Function to print even numbers void printEvenNumbers( int N)
{ cout << "Even: " ;
for ( int i = 1; i <= 2 * N; i++) {
//checking even or not
if (!(i & 1))
cout << i << " " ;
}
} // Function to print odd numbers void printOddNumbers( int N)
{ cout << "\nOdd: " ;
for ( int i = 1; i <= 2 * N; i++) {
// checking odd or not
if (i & 1 != 0)
cout << i << " " ;
}
} // Driver code int main()
{ int N = 5;
printEvenNumbers(N);
printOddNumbers(N);
return 0;
} // This code is contributed by vinay Pinjala.
|
Output
Even: 2 4 6 8 10 Odd: 1 3 5 7 9
Time Complexity: O(n)
Auxiliary Space: O(1), As constant extra space is needed.
Method: Using bitwise | Operator
C++
// C++ program to print all Even // and Odd numbers from 1 to N #include <bits/stdc++.h> using namespace std;
// Function to print even numbers void printEvenNumbers( int N)
{ cout << "Even: " ;
for ( int i = 1; i <= 2 * N; i++) {
//checking even or not using bitwise | operator
if ((i | 1)==i+1)
cout << i << " " ;
}
} // Function to print odd numbers void printOddNumbers( int N)
{ cout << "\nOdd: " ;
for ( int i = 1; i <= 2 * N; i++) {
//checking odd or not using bitwise | operator
if ((i | 1) == i)
cout << i << " " ;
}
} // Driver code int main()
{ int N = 5;
printEvenNumbers(N);
printOddNumbers(N);
return 0;
} // This code is contributed by tvsk.
|
Output
Even: 2 4 6 8 10 Odd: 1 3 5 7 9
Time Complexity: O(n)
Auxiliary Space: O(1), As constant extra space is needed.
Method: Using Recursion
C++
// C++ implementation of the above approach #include <bits/stdc++.h> using namespace std;
// Function to Print Even- Odd number using Recursion void printEvenOdd( int n)
{ if (n <= 0) // if n<=0 return because
{ return ; } // we have to find in [1,N]
//recursive call
printEvenOdd(n - 2);
cout << n << " " ; //print numbers
} // Drive Code int main()
{ int n = 5 ;
cout << "Even: " ;
//Function for printing even numbers
printEvenOdd(2*n);
//Function call for printing odd numbers
cout <<endl<< "Odd: " ;
printEvenOdd(2*n-1);
return 0;
} // This code is contributed by nikhilsainiofficial546 |
Output
Even: 2 4 6 8 10 Odd: 1 3 5 7 9
Time Complexity: O(n)
Auxiliary Space: O(n), because of recursive call
Recommended Articles