Advertisement
Guest User

StrongNumber

a guest
Dec 4th, 2019
543
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.95 KB | None | 0 0
  1. using System;
  2.  
  3. namespace Task6_StrongNumber
  4. {
  5. class Program
  6. {
  7. static void Main(string[] args)
  8. {
  9. int number = int.Parse(Console.ReadLine());//6921
  10. string lenght = number.ToString();//Обръщам числото в String за да взема дължината му. (Числото 6921 съдържа 4 симбола)
  11. //lenght = 4
  12. int sum = 0;
  13.  
  14.  
  15. //Тук въртя цикъл, който ще се завърти толкова пъти, колкото е дължината на числото (В случая 4 пъти)
  16. for (int digitsCount = 0; digitsCount < lenght.Length; digitsCount++)
  17. {
  18. //Тук достъпвам чилото което седи на дадена позиция, като от него вадя 48,понеже в ASCII таблицата 0-та е на 48 позиция
  19. int currentFactorial = (int)(lenght.ToString()[digitsCount]) - 48;
  20. //На първото завъртане взимам стойността "6" , тъй като тя се намира на нулева позиция (В програмирането се брои от 0)
  21. //На второто завъртане взимам стойността "9" , която се намира на 1ва позиция и тн.
  22.  
  23. int currentSum = 1;
  24. //Дефинирам, че след всяко завъртане currentSum ще е единица, защото всяко число умножено по 0 е 0;
  25.  
  26.  
  27.  
  28. //Тук въртя цикъл, в който за всяко едно число намирам неговият Факториел
  29. for (int count = currentFactorial; count >= 1; count--)
  30. {
  31. //Тук умножавам предходното число по count, където count e намален с 1ца
  32. //Така след като приключа цикъла ще получа факториела на числото
  33. currentSum *= count;
  34. //Пример: Ако имам числото 6 то факториел от 6 е : (6 * 5 * 4 * 3 * 2 * 1) = 720
  35.  
  36. }
  37.  
  38. //Тук събирам получената до момента сума от факториела
  39. sum = sum + currentSum;
  40.  
  41. }
  42.  
  43. //След завърването на всички цикли аз трябва да проверя дали сумата на факториелите е равна на първоначално даденото число
  44. if (sum == number)
  45. {
  46. Console.WriteLine("yes");
  47. }
  48. else
  49. {
  50. Console.WriteLine("no");
  51. }
  52. }
  53. }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement