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

• Difficulty Level : Medium
• Last Updated : 01 Jul, 2022

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`

## 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

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

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

My Personal Notes arrow_drop_up