When the user provides a whole number, the program returns the next whole number which is a perfect square.
For example, if I provide 5, then the program will check if 6, or 7, or 8, or 9 are perfect squares. It will detect 9 as being a perfect square and tell you that 3 times 3 is 9.
My pseudo-code is as follows:
1. take input as variable "n" of type int.
2. create a for loop which starts at 1 and runs till i = n.
3. the body of the for loop will calculate n/i and compare it with i for equality.
e.g. If the user passes 9, then the first iteration will be as follows:
9/1 = 9 (false)
9/2 = 4.5 (false)
9/3 = 3 (true, because i equals n)
4. The program will stop and tell us that "i" times "i" equals "n"
In this case, 3 times 3 equals 9
I wrote the following code, but I know that I have to account for modulus and probably use a float or double. I'm also not sure if my i == n should be i < n, instead.
Needless to say, my program does not work and I'm missing a few things
Vasyl Lyashkevych wrote:I already posted executed code, but we need to help. So, I pointed to that approaches, but didn't tested
Sorry, your code doesn't work. If n=9 then it goes into an infinite (mostly) loop. If n=5 then your code yields: 2 times 2 equals 6 (the answer is supposed to be 9). The very first time through i=1 then for all other iterations i will equal 2 and never anything more.
You have the right to remain sentient. If you give up the right to remain sentient,
you will be elected to public office.