
ответ
12,5%=0,125,37%=0,37,20%= 0,21/5, , 40%= 4/10= 2/5
Пошаговое объяснение:
если В ОБЫКНОВЕННУЮ:
Тупо пишешь на месте числителя процент, а знаменатель 100.
Например:
Ну, допустим, тебе нужно перевести 50% в обыкновенную дробь. Значит, число 50 пишем на место числителя, а знаменатель 100. ( 50/100 ) ("/" - дробная черта)
если В ДЕСЯТИЧНУЮ
Тут уже нужно смотреть, какое число - круглое или нет. Если КРУГЛОЕ (например, те же 50) то убираем ноль от 50 (будет пять), то высчитываем десятичную дробь В ДЕСЯТЫХ, а если число НЕ КРУГЛОЕ (23), то высчитываем В СОТЫХ. Если процентов МЕНЬШЕ, чем 100%, то пишем ноль целых, а если больше 100%, то пишем единицы
НАПРИМЕР:
20% = 0,2 (поскольку число круглое)
50% = 0,5 (поскольку число круглое)
105% = 1,5 (поскольку больше 100%)
150% = 1,5 (поскольку больше 100 и число круглое)
23% = 0,23 ( поскольку число не круглое, то считаем в сотых)
Подробнее - на -
Входные:60 и 2, выйти должно число 11. Входные: -1 и 1, выйти должно 108.
Алгоритм:С виду простая задача, но очень много условий должно выполняться:
Это «круг», то есть если число больше 109, то идем по второму кругу и т.д.Возможно движение в обратную сторонуДа и еще кучка…Объяснять здесь нечего, главное не запутаться и выполнить все условия:D
Решение:Решение на СИ:
#include <stdio.h> int main() { int vasya,t,v,s; scanf("%d%d",&v,&t); if (v*t > 0) { vasya = (v * t) % 109; } else { if (v*t<=0) { vasya = (109 + ((v * t) % 109)) % 109; } } printf("%d", vasya); return 0; }Решение на Паскале:
var vasya,t,v,s:integer; begin readln(v,t); if (v*t>0) then begin vasya := (v * t) mod 109; end else if (v*t<=0) then begin vasya := (109 + ((v * t) mod 109)) mod 109; end; writeln(vasya); end.