For loop practice help | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
+ 1

For loop practice help

Not sure where I’m going wrong here. In this program, I’m trying to find if scanned variable k is a power of the scanned variable n. So, if you input 243 and 5, your program finds any numbers that would equal 243 if brought to the 5th power. The program printfs if there are no such numbers. Below you can see my attempt: https://code.sololearn.com/cjk6JcHtoRC3/?ref=app

11th Apr 2021, 3:45 PM
Alejandro
7 Answers
+ 2
Alejandro Piña Change sum=1; Also I have made some changes in for loop check it #include <stdio.h> int main(void) { int n,k,i,j; int sum=1,done=0; scanf("%i %i",&n,&k); for(i=1;i<=n/2; i++) { for(j=1;j<=k; j++) { sum *= i; if(sum==n) { done=1; printf("%i = %i^%i",n,i,k); break; } } sum = 1; } if(done == 0) { printf("%i is not a %ith power",n,k); } Also refer this for taking input as 1 and 0 https://code.sololearn.com/cfviDdFxjG9S/?ref=app
13th Apr 2021, 7:52 AM
Arun Ruban SJ
Arun Ruban SJ - avatar
+ 2
Hi Alejandro Piña, I have done some mods on your code. I took some help from math.h (pow(), sqrt()) , Hope Thats ok. https://code.sololearn.com/cUtk982RMowB/?ref=app
11th Apr 2021, 4:15 PM
G B
G B - avatar
+ 2
Arun Ruban SJ Oops, my Bad :) Thanks for the hint
13th Apr 2021, 1:58 PM
G B
G B - avatar
+ 1
G B Your code is not giving correct answer for 8, 3 Change j<=k; in for loop
13th Apr 2021, 7:58 AM
Arun Ruban SJ
Arun Ruban SJ - avatar
0
Hey Arun Ruban SJ, Your code unfortunately fails for numerous tests. For example, it fails for 1 and 7. 17 and 1. Also for 5096 and 3, oddly it prints the output twice. Just a couple things.
14th Apr 2021, 3:28 PM
Alejandro
0
Sorry the if statement comes outside the 2nd for loop #include <stdio.h> int main(void) { int n,k,i,j; int sum=1,done=0; scanf("%i %i",&n,&k); for(i=1;i<n/2; i++) { for(j=1;j<=k; j++) { sum *=i; } if(sum==n) { done=1; printf("%i = %i^%i",n,i,k); break; } sum = 1; } if(done == 0) { printf("%i is not a %ith power",n,k); } return 0; } I don't understand what's with 5096 and 3 ,it worked when I checked. For numbers 1 and 0 the above program won't give answers, you have to give special conditions. Please refer this and change accordingly https://code.sololearn.com/cfviDdFxjG9S/?ref=app
14th Apr 2021, 3:49 PM
Arun Ruban SJ
Arun Ruban SJ - avatar