Advertisement
Guest User

Untitled

a guest
Jan 19th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.34 KB | None | 0 0
  1. // Лаб 2 задача 4
  2.  
  3. open System;
  4.  
  5. //Объявление функции с целочисленным параметром
  6. let function1(x: int) =
  7. //Объявление переменной, которая может быть изменяемой
  8. let mutable n = x
  9. //Объявление соответственно первой, второ1 и третьей цифры искомого числа. y2 - 1, потому что ищется через произведение. в случае если она 0 - 0 * Любое число = 0
  10. let mutable y1, y2, y3 = 0, 1, 0
  11. //Цикл для поиска первой цифры числа. Условие выхода в первых двух циклах одинаковое, пока n не равно 0
  12. while (n <> 0) do
  13. //у1 + остаток от деления на 10
  14. y1 <- y1 + n % 10
  15. //уменьшили число n на 10
  16. n <- n / 10
  17. //умножили y1 на 100 - потому что цифра разряда сотен
  18. y1 <- (y1 % 10) * 100
  19.  
  20. //Цикл для поиска второй цифры числа
  21. n <- x
  22. while (n <> 0) do
  23. //у2 * остаток от деления на 10
  24. y2 <- y2 * (n % 10)
  25. //умньшили число n на 10
  26. n <- n / 10
  27. //умножили y2 на 10 - потому что цифра разряда десятков
  28. y2 <- y2 / 100 * 10
  29.  
  30. //Цикл для поиска третьей цифры числа. Нам нужны вторая и третья цифра числа, значит условие выхода такое
  31. n <- x
  32. while (n > 10) do
  33. //у3 + остаток от деления на 10
  34. y3 <- y3 + n % 10
  35. //умньшили число n на 10
  36. n <- n / 10
  37. //условие для поиска третьей цифры числа
  38. y3 <- y3 % ((x - (x % 100)) / 100)
  39. //Подсчёт искомого числа
  40. printf "%d" (y1 + y2 + y3)
  41.  
  42. //Ввод с клавиатуры строки и затем конвертация её в чилос типа int
  43. printf "Введите x: "
  44. let x = Convert.ToInt32(Console.ReadLine());
  45.  
  46. //Вызов функции с параметрами, которые мы ввели с клавиатуры
  47. function1(x)
  48.  
  49. Console.ReadLine();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement