Входные: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.1) (5020+X):25=360
5020+Х = 360*25
5020+Х = 9000
Х = 9000 - 5020
Х = 3980;
2) 820:X*4-16=32
820:X*4 = 32 +16
820:X*4 = 48
820:X = 48 : 4
820:X = 12
Х = 820 :12
Х = 68
3) 1000-X:36=388
X:36 = 1000 - 388
X:36 = 612
Х = 612 * 36
Х = 22032
4) (5080-X:5)*3=13935
5080-X:5 = 13935 : 3
5080-X:5 = 4645
Х : 5 = 5080 - 4645
Х : 5 = 435
Х = 435*5
Х = 2175
324544
+
175737
500281
проверка
500281
-
324544
175737
840103
-
62524
777579
проверка
777579
+
62524
840103