Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Лаб 2 задача 4
- open System;
- //Объявление функции с целочисленным параметром
- let function1(x: int) =
- //Объявление переменной, которая может быть изменяемой
- let mutable n = x
- //Объявление соответственно первой, второ1 и третьей цифры искомого числа. y2 - 1, потому что ищется через произведение. в случае если она 0 - 0 * Любое число = 0
- let mutable y1, y2, y3 = 0, 1, 0
- //Цикл для поиска первой цифры числа. Условие выхода в первых двух циклах одинаковое, пока n не равно 0
- while (n <> 0) do
- //у1 + остаток от деления на 10
- y1 <- y1 + n % 10
- //уменьшили число n на 10
- n <- n / 10
- //умножили y1 на 100 - потому что цифра разряда сотен
- y1 <- (y1 % 10) * 100
- //Цикл для поиска второй цифры числа
- n <- x
- while (n <> 0) do
- //у2 * остаток от деления на 10
- y2 <- y2 * (n % 10)
- //умньшили число n на 10
- n <- n / 10
- //умножили y2 на 10 - потому что цифра разряда десятков
- y2 <- y2 / 100 * 10
- //Цикл для поиска третьей цифры числа. Нам нужны вторая и третья цифра числа, значит условие выхода такое
- n <- x
- while (n > 10) do
- //у3 + остаток от деления на 10
- y3 <- y3 + n % 10
- //умньшили число n на 10
- n <- n / 10
- //условие для поиска третьей цифры числа
- y3 <- y3 % ((x - (x % 100)) / 100)
- //Подсчёт искомого числа
- printf "%d" (y1 + y2 + y3)
- //Ввод с клавиатуры строки и затем конвертация её в чилос типа int
- printf "Введите x: "
- let x = Convert.ToInt32(Console.ReadLine());
- //Вызов функции с параметрами, которые мы ввели с клавиатуры
- function1(x)
- Console.ReadLine();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement