Решение: Необходимо найти НОК чисел 3, 4 и 5. (НОК - Наименьшее общее кратное двух и более натуральных чисел называется наименьшее натуральное число, которое само делится нацело на каждое из этих чисел.) Чтобы найти НОК трех чисел нужно разложить делители чисел на простые множители: Выписываем в строчку множители, входящие в разложение самого большого из чисел, а под ним — разложение остальных чисел. 5=1*5 4=1*2*2 3=1*3 Подчеркиваем или выделяем в разложении меньшего числа (меньших чисел) множители, которые не вошли в разложение бóльшего числа и добавляем эти множители в разложение бóльшего числа. НОК (3, 4, 5) = 1 * 5 * 2 * 2 * 3 = 60 НОК (3, 4, 5) = 60
Входные: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.
Необходимо найти НОК чисел 3, 4 и 5.
(НОК - Наименьшее общее кратное двух и более натуральных чисел называется наименьшее натуральное число, которое само делится нацело на каждое из этих чисел.)
Чтобы найти НОК трех чисел нужно разложить делители чисел на простые множители:
Выписываем в строчку множители, входящие в разложение самого большого из чисел, а под ним — разложение остальных чисел.
5=1*5
4=1*2*2
3=1*3
Подчеркиваем или выделяем в разложении меньшего числа (меньших чисел) множители, которые не вошли в разложение бóльшего числа и добавляем эти множители в разложение бóльшего числа.
НОК (3, 4, 5) = 1 * 5 * 2 * 2 * 3 = 60
НОК (3, 4, 5) = 60
Все остальные варианты не подходят по условиям.
ответ: В) 60
Входные: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.