Open in App
Not now

# Change/add only one character and print ‘*’ exactly 20 times

• Difficulty Level : Medium
• Last Updated : 02 Mar, 2023

In the below code, change/add only one character and print ‘*’ exactly 20 times.

```int main()
{
int i, n = 20;
for (i = 0; i < n; i--)
printf("*");
getchar();
return 0;
}```

Solutions:
1. Replace i by n in for loop’s third expression

## C++

 `#include ` `using` `namespace` `std;` `int` `main()` `{` `    ``int` `i, n = 20;` `    ``for` `(i = 0; i < n; n--)` `        ``cout << ``"*"``;` `    ``getchar``(); ` `    ``return` `0;` `}`

## C

 `#include ` `int` `main()` `{` `    ``int` `i, n = 20;` `    ``for` `(i = 0; i < n; n--)` `        ``printf``(``"*"``);` `    ``getchar``();    ` `    ``return` `0;` `}`

## Java

 `// Java code` `class` `GfG { ` `public` `static` `void` `main(String[] args) ` `{ ` `    ``int` `i, n = ``20``; ` `    ``for` `(i = ``0``; i < n; n--) ` `        ``System.out.print(``"*"``); ` `} ` `} `

## Python3

 `# Python3 program to implement  ` `# the above approach` `if` `__name__ ``=``=` `'__main__'``:` `  ``n ``=` `20` `  ``for` `i ``in` `range``(``0``, n):` `    ``print``(``"*"``,end``=``'')` `    ``n ``-``=` `1`   `# This code is contributed by gauravrajput1`

## C#

 `// C# code` `using` `System;` `class` `GfG ` `{ ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `i, n = 20; ` `        ``for` `(i = 0; i < n; n--) ` `            ``Console.Write(``"*"``); ` `    ``} ` `} `   `// This code is contributed by SoumikMondal`

## Javascript

 ``

Output

`********************`

2. Put ‘-‘ before i in for loop’s second expression

## C++

 `#include` `using` `namespace` `std;`   `int` `main()` `{` `    ``int` `i, n = 20;` `    ``for` `(i = 0; -i < n; i--)` `        ``cout<<``"*"``;           ` `     `  `    ``return` `0;` `}`   `// This code is contributed by rutvik_56.`

## C

 `#include ` `int` `main()` `{` `    ``int` `i, n = 20;` `    ``for` `(i = 0; -i < n; i--)` `        ``printf``(``"*"``);           ` `    ``getchar``();    ` `    ``return` `0;` `}`

## Java

 `// Java code ` `import` `java.util.*;` `public` `class` `GFG` `{` `  ``public` `static` `void` `main(String[] args)` `  ``{` `    ``int` `i, n = ``20``; ` `    ``for` `(i = ``0``; -i < n; i--) ` `      ``System.out.print(``"*"``); ` `  ``}` `}`   `// This code is contributed by divyesh072019.`

## Python3

 `# Python3 program to implement  ` `# the above approach` `if` `__name__ ``=``=` `'__main__'``:` `  ``n ``=` `20` `  ``for` `i ``in` `range``(``0``,n):` `    ``print``(``"*"``, end``=``"")`   `# This code is contributed by shivanisinghss2110 `

## C#

 `// C# code` `using` `System;` `class` `GfG ` `{ ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``int` `i, n = 20; ` `        ``for` `(i = 0; -i < n; i--) ` `            ``Console.Write(``"*"``); ` `    ``} ` `} `   `// This code is contributed by divyeshrabadiya07.`

## Javascript

 ``

Output

`********************`

3. Replace < by + in for loop’s second expression

## C++

 `#include ` `using` `namespace` `std;`   `int` `main()` `{` `    ``int` `i, n = 20;` `    ``for``(i = 0; i + n; i--)` `        ``cout << ``"*"``;` `  `  `    ``return` `0;` `}`   `// This code is contributed by shivani`

## C

 `#include ` `int` `main()` `{` `    ``int` `i, n = 20;` `    ``for` `(i = 0; i + n; i--)` `       ``printf``(``"*"``);` `    ``getchar``();` `    ``return` `0;` `}`

## Java

 `/*package whatever //do not write package name here */` `import` `java.io.*;`   `class` `GFG {` `    ``public` `static` `void` `main (String[] args) {` `        ``int` `i, n = ``20``;` `        ``for``(i = ``0``; i + n > ``0``; i--)` `             ``System.out.print(``"*"``);` `        ``}` `}`   `// This code is contributed by shinjanpatra.`

## Python3

 `i,n ``=` `0``,``20`   `while``(i``+``n):` `   ``print``(``"*"``,end``=``"")` `   ``i ``-``=` `1`   `# This code is contributed by shinjanpatra`

## C#

 `using` `System;`   `class` `GFG` `{` `  ``static` `void` `Main(``string``[] args)` `  ``{` `    ``int` `i, n = 20;` `    ``for` `(i = 0; i + n > 0; i--)` `      ``Console.Write(``"*"``);` `  ``}` `}`   `// This code is contributed by lokeshpotta20.`

## Javascript

 ``

Output

`********************`

Let’s extend the problem little.
Change/add only one character and print ‘*’ exactly 21 times.
Solution: Put negation operator before i in for loop’s second expression.
Explanation: Negation operator converts the number into its one’s complement.

```       No.              One's complement
0 (00000..00)            -1 (1111..11)
-1 (11..1111)             0 (00..0000)
-2 (11..1110)             1 (00..0001)
-3 (11..1101)             2 (00..0010)
...............................................
-20 (11..01100)           19 (00..10011)```

## C++

 `// C++ program for the above approach` `#include ` `using` `namespace` `std;`   `int` `main()` `{` `    ``int` `i, n = 20;` `    ``for` `(i = 0; ~i < n; i--) ` `        ``printf``(``"*"``);` `    ``getchar``();` `    ``return` `0;` `}`   `// This code is contributed by shivanisinghss2110`

## C

 `#include ` `int` `main()` `{` `    ``int` `i, n = 20;` `    ``for` `(i = 0; ~i < n; i--) ` `        ``printf``(``"*"``);` `    ``getchar``();` `    ``return` `0;` `}`

## Java

 `// Java program for the above approach` `import` `java.util.*;`   `class` `GFG{`   `public` `static` `void` `main(String[] args)` `{` `    ``int` `i, n = ``20``;` `    ``for``(i = ``0``; ~i < n; i--) ` `        ``System.out.print( ``"*"` `);` `}` `}`   `// This code is contributed by shivani`

## Python3

 `# JavaScript program for the above approach` `n ``=` `20` `i ``=` `0` `while``(~i

## C#

 `// C# program for the above approach` `using` `System;`   `class` `GFG{`   `public` `static` `void` `Main(String[] args)` `{` `    ``int` `i, n = 20;` `    ``for``(i = 0; ~i < n; i--) ` `        ``Console.Write( ``"*"` `);` `}` `}`   `// This code is contributed by shivanisinghss2110`

## Javascript

 ``

Output

`*********************`

Time Complexity: O(1)

Since only a single loop is used to print the n stars, the time complexity of this approach is O(1).

Space Complexity: O(1)

No extra space is used in this approach and hence the space complexity is O(1).

Please comment if you find more solutions to the above problems.

My Personal Notes arrow_drop_up
Related Articles