Print squares of first n natural numbers without using *, / and –

Given a natural number ‘n’, print squares of first n natural numbers without using *, / and -.

Examples :

Input:  n = 5
Output: 0 1 4 9 16

Input:  n = 6
Output: 0 1 4 9 16 25

We strongly recommend to minimize the browser and try this yourself first.

Method 1: The idea is to calculate next square using previous square value. Consider the following relation between square of x and (x-1). We know square of (x-1) is (x-1)2 – 2*x + 1. We can write x2 as

x2 = (x-1)2 + 2*x - 1
x2 = (x-1)2 + x + (x - 1)

When writing an iterative program, we can keep track of previous value of x and add the current and previous values of x to current value of square. This way we don’t even use the ‘-‘ operator.

Below is the implementation of above approach:

C++

 // C++ program to print squares of first 'n' natural numbers // wothout using *, / and - #include using namespace std;    void printSquares(int n) {     // Initialize 'square' and previous value of 'x'     int square = 0, prev_x = 0;        // Calculate and print squares     for (int x = 0; x < n; x++)     {         // Update value of square using previous value         square = (square + x + prev_x);            // Print square and update prev for next iteration         cout << square << " ";         prev_x = x;     } }    // Driver program to test above function int main() {    int n = 5;    printSquares(n); }

Java

 // Java program to print squares  // of first 'n' natural numbers // wothout using *, / and  import java.io.*;    class GFG  { static void printSquares(int n) {     // Initialize 'square' and      // previous value of 'x'     int square = 0, prev_x = 0;        // Calculate and     // print squares     for (int x = 0; x < n; x++)     {         // Update value of square          // using previous value         square = (square + x + prev_x);            // Print square and update         // prev for next iteration         System.out.print( square + " ");         prev_x = x;     } }    // Driver Code public static void main (String[] args) {     int n = 5;     printSquares(n); } }    // This code is contributed  // by akt_mit

Python 3

 # Python 3 program to print squares of first  # 'n' natural numbers without using *, / and - def printSquares(n):        # Initialize 'square' and previous     # value of 'x'     square = 0; prev_x = 0;        # Calculate and print squares     for x in range(0, n):                    # Update value of square using          # previous value         square = (square + x + prev_x)            # Print square and update prev           # for next iteration         print(square, end = " ")         prev_x = x    # Driver Code n = 5; printSquares(n);    # This code is contributed # by Akanksha Rai

C#

 // C#  program to print squares  // of first 'n' natural numbers  // wothout using *, / and  using System;    public class GFG{            static void printSquares(int n)  {      // Initialize 'square' and      // previous value of 'x'      int square = 0, prev_x = 0;         // Calculate and      // print squares      for (int x = 0; x < n; x++)      {          // Update value of square          // using previous value          square = (square + x + prev_x);             // Print square and update          // prev for next iteration          Console.Write( square + " ");          prev_x = x;      }  }     // Driver Code             static public void Main (){         int n = 5;          printSquares(n);      }  }     // This code is contributed  // by ajit

PHP



Output:

0 1 4 9 16

Method 2: Sum of first n odd numbers are squares of natural numbers from 1 to n. For example 1, 1+3, 1+3+5, 1+3+5+7, 1+3+5+7+9, ….

Following is program based on above concept. Thanks to Aadithya Umashanker and raviteja for suggesting this method.

C++

 // C++ program to print squares of first 'n' natural numbers // wothout using *, / and - #include using namespace std;    void printSquares(int n) {     // Initialize 'square' and first odd number     int square = 0, odd = 1;        // Calculate and print squares     for (int x = 0; x < n; x++)     {         // Print square         cout << square << " ";            // Update 'square' and 'odd'         square = square + odd;         odd = odd + 2;     } }    // Driver program to test above function int main() {    int n = 5;    printSquares(n); }

Java

 // Java program to print  // squares of first 'n'  // natural numbers without  // using *, / and - import java.io.*;    class GFG  { static void printSquares(int n) {     // Initialize 'square'      // and first odd number     int square = 0, odd = 1;        // Calculate and     // print squares     for (int x = 0; x < n; x++)     {         // Print square         System.out.print(square +                             " " );            // Update 'square'         // and 'odd'         square = square + odd;         odd = odd + 2;     } }    // Driver Code public static void main (String[] args)  {     int n = 5;     printSquares(n); } }    // This code is contributed // by ajit

Python3

 # Python3 program to print squares  # of first 'n' natural numbers  # wothout using *, / and -     def printSquares(n):            # Initialize 'square' and     # first odd number      square = 0     odd = 1            # Calculate and print squares      for x in range(0 , n):                    # Print square          print(square, end= " ")                    # Update 'square' and 'odd'          square = square + odd         odd = odd + 2    # Driver Code n = 5;  printSquares(n)    # This code is contributed  # by Rajput-Ji

C#

 // C# program to print squares of first 'n'  // natural numbers without using *, / and - using System;    class GFG  { static void printSquares(int n) {     // Initialize 'square'      // and first odd number     int square = 0, odd = 1;        // Calculate and     // print squares     for (int x = 0; x < n; x++)     {         // Print square         Console.Write(square + " " );            // Update 'square'         // and 'odd'         square = square + odd;         odd = odd + 2;     } }    // Driver Code public static void Main ()  {     int n = 5;     printSquares(n); } }    // This code is contributed // by inder_verma..

PHP



Output :

0 1 4 9 16

My Personal Notes arrow_drop_up

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.