Sum of Digits ka mtlb hota hai integer ke digits ko add krna
Example 123
1+2+3 =6
package learning;
import java.util.Scanner;
public class learnNew {
public static void main(String[] args){
Scanner scan = new Scanner(System.in) ;
int n = scan.nextInt();
int sum = 0;
while(n > 0) {
int r = n % 10;
sum = sum + r;
n = n/10 ;
}
System.out.println(sum);
}
}
Step:
- hamne yaha while loop ka use kiya hai aap chahe to for loop ka bhi istemal kr skte hai
for loop for this>>for(;n > 0;) { //this is syntax of for loop
- sbse phle while loop check karega kya n (123) > a ... n bdha hai 0 se agr han to condition true hoga aur loop me enter hoga
- ab loop ke andar ki statement check hogi
- n ko 10 se modulus karenge n % 10 [ modulus ham isliye use kr rhe kyo ki modulus sirf remainder deta hai .
- Remainder 3 aayega aur wo save ho jayega r variable me .
- uske bad ham sum = sum + r kar rhe ... sum phle 0 tha lekin r hamare pass 3 aaya hai to ab previous sum 0 + r (remainder) 3 add hoga aur sum bnega 3.
- n = n / 10; isse n jo 126 tha use 10 se divide karenge jisse hame 12 milega aur ab hamara n 12 ho chuka hai
- dubara loop check karega kya n (12) > 0 se bdha hai agar han to dubara 12 % 10 karega
- ab r me 2 remainder aa chuka hai jo ki r me store ho jayega.
- sum = sum + 2 me phle sum hamara 3 tha ab 3 + 2 hoga 5 .
- ab 5 dubara se jake sum me add ho jayega aur ab sum ki value 5 ho chuki hai .
- hamara n jo ki last me 12 tha ab dubara se 10 se divide kiya jayega jitni bar me divide hoga wo dubara se n me jake store ho jayega
- 12 ko ham 10 se divide krenge to 1 se divide hoga aur remainder 2 milega mtlb hamara n ab 1 ho chuka hai .
- dubara loop me aayega aur check karega kya n (1) 0 se bdha hai han ek se bdha hai , ha 1 , 0 se bdha hai to loop true hoga aur statement check karega .
- r = n % 10 n hamara 1 hai ek ko 10 se divide karenge to remainder 1 hi aayega aur divide hoga 0.1 times
- lekin kyu ki n ki value int li gyi hai to n hamara ab 0 ho chuka hai , ye float me save nhi hoga
- aur remainder hamara 1 aaya tha jo ki sum me add ho jayega
- now 2+3+1 sum me store ho chuka hai ab ham sum ko print krenge to sum of digit ho jayega answer aayega 6 .
Comments
Post a Comment