Open In App

C++ program to print all Even and Odd numbers from 1 to N

Improve
Improve
Like Article
Like
Save
Share
Report

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:

  1. 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.
  2. 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 



Last Updated : 13 Mar, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads