Advertisement
desislava_topuzakova

06. Strong Number

May 21st, 2022
804
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.55 KB | None | 0 0
  1. import java.util.Scanner;
  2.  
  3. public class StrongNumber_06 {
  4.     public static void main(String[] args) {
  5.         Scanner scanner = new Scanner(System.in);
  6.         //1. цяло число -> входни данни
  7.         int number = Integer.parseInt(scanner.nextLine());
  8.         int startNumber = number; //първоначалната стойност на числото
  9.         //2. разбивам го на цифри
  10.             //повтаряме: число > 0
  11.             //стоп: число <= 0
  12.             //1. взимаме последната цифра -> %10
  13.             //2. махаме от числото -> / 10
  14.         int sumFact = 0; //сумата от факториелите на всяка цифра
  15.         while (number > 0) {
  16.             int lastDigit = number % 10;
  17.             //3. факториел на всяка цифра
  18.             int fact = 1;
  19.             for (int i = 1; i <= lastDigit; i++) { //всички числа от 1 до моето
  20.                 fact = fact * i;
  21.             }
  22.             //знам колко е факториела на съответната цифра
  23.             //4. сума от факториелите
  24.             sumFact += fact;
  25.  
  26.             number = number / 10;
  27.         }
  28.         //5. проверка за strong -> сума от факториелите == първоначалното число
  29.         if (sumFact == startNumber) {
  30.             System.out.println("yes");
  31.         } else {
  32.             System.out.println("no");
  33.         }
  34.     }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement