Can you explain it for me? | Sololearn: Learn to code for FREE!
New course! Every coder should learn Generative AI!
Try a free lesson
+ 5

Can you explain it for me?

What does this formula say? Explain it please.. digit = num % 10; rev = (rev * 10) + digit; num = num / 10;

23rd Jan 2021, 9:18 AM
Mubarak Hussain
Mubarak Hussain - avatar
5 Answers
+ 9
num%10 is the remainder when you divide the number by 10. So it is actually the last digit of the number. Then multiplying rev by 10, all of its digits are shifted to left and you add the digit that you calculated previously. Then num/10 divides the number by 10, this shifts all digits to right and removes the last digit. I imagine this is all inside a loop, reversing the order of the digits in the original number.
23rd Jan 2021, 9:44 AM
Tibor Santa
Tibor Santa - avatar
+ 5
Let's take a number, for example say, int num=145 and rev is initialized with value 0,int rev=0 digit=145%10 //% operator returns remainder digit=5 rev=0*10+5=5 num=145/10=14 Assuming that the above code is in a while loop (while num>0), we start from first statement again, digit=14 %10 digit=4 rev=5*10+4=54 num=14/10=1 Loop runs again as num is still greater than 0, digit=1%10 digit=1 rev=54*10 + 1 rev=541 num=1/10=0 Since num is not greater than 0, loop stops and the number is reversed as well 145 is now 541.
23rd Jan 2021, 9:55 AM
Abhay
Abhay - avatar
23rd Jan 2021, 9:19 AM
Mubarak Hussain
Mubarak Hussain - avatar
+ 2
We need to announce another r
25th Jan 2021, 5:50 AM
‎ Герман Папанов(הרמן פפנוב)‎
‎ Герман Папанов(הרמן פפנוב)‎ - avatar
0
It's a code to reverse a number like 123 to 321
25th Jan 2021, 5:23 AM
Zannatul Naim
Zannatul Naim - avatar