Входные:60 и 2, выйти должно число 11. Входные: -1 и 1, выйти должно 108.
Алгоритм:
С виду простая задача, но очень много условий должно выполняться:
Это «круг», то есть если число больше 109, то идем по второму кругу и т.д.Возможно движение в обратную сторонуДа и еще кучка…
Объяснять здесь нечего, главное не запутаться и выполнить все условия:D
Решение:
Решение на СИ:
#include
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;
}<p>
Решение на Паскале:
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.</span>