Заданы числитель и знаменатель обыкновенной дроби. Представить эту дробь в виде десятичной - Free Pascal
Формулировка задачи:
Заданы числитель и знаменатель обыкновенной дроби. Представить эту дробь в виде десятичной (получить n знаков после запятой) и определить, сколько раз встречается в результате цифра 5.
Решение задачи: «Заданы числитель и знаменатель обыкновенной дроби. Представить эту дробь в виде десятичной»
textual
Листинг программы
- {$mode objfpc}{$H+}
- uses
- sysutils, math, gmp;
- const
- n = 100;
- var
- num, denom : integer;
- p_num, p_denom, res : mpfloat;
- s : string;
- ch : char;
- five : integer;
- begin
- num := 4; denom := 7;
- f_set_default_prec(floor(n / log_10_2));
- f_init_set_si(p_num, num);
- f_init_set_si(p_denom, denom);
- res := f_div(p_num, p_denom);
- s := format('%s', [string(res)]);
- s := copy(s, 1, pos('.', s) + n);
- writeln(s);
- five := 0;
- for ch in s do if ch = '5' then inc(five);
- writeln('5''s -> ', five);
- end.
Объяснение кода листинга программы
В данном коде задачей является представление обыкновенной дроби в виде десятичной.
- Импортируются необходимые модули: sysutils, math, gmp.
- Устанавливается константа n равная 100.
- Задаются числитель и знаменатель обыкновенной дроби в переменных num и denom соответственно.
- Создаются переменные p_num и p_denom типа mpfloat и инициализируются значениями числителя и знаменателя соответственно.
- Вычисляется результат деления числителя на знаменатель и сохраняется в переменной res.
- Полученный результат представляется в виде строки в переменной s с помощью функции format.
- Строка s обрабатывается таким образом, чтобы оставить только числительную часть (до десятичной точки).
- Полученная строка выводится на экран с помощью функции writeln.
- Инициализируется переменная five равной нулю.
- Происходит проверка каждого символа строки s. Если символ равен '5', то к переменной five прибавляется единица.
- Выводится количество символов '5' в переменной five.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д