Надо!
: вычитание простого
ограничение по времени на тест - 2 секунды
ограничение по памяти на тест - 256 мегабайт
ввод - стандартный ввод
вывод - стандартный вывод
вам заданы два целых числа x и y (гарантируется, что x> y). вы можете выбрать любое простое целое число p и вычесть его любое количество раз из x. можно ли сделать x равным y?
напомним, что простым называется целое положительное число, которое имеет ровно два положительных делителя: 1 и само это целое число. последовательность простых чисел начинается с 2, 3, 5, 7, 11.
ваша программа должна ответить на t независимых тестов.
входные данные
первая строка содержит целое число t (1≤t≤1000) — количество тестов.
следующие t строк описывают тесты. каждая строка содержит два целых числа x и y (1≤y
выходные данные
на каждый тест выведите yes, если возможно выбрать простое число p и вычесть его некоторое количество раз из x, чтобы x стало равным y. иначе выведите no.
пример:
ввод:
4
100 98
42 32
1 1
41 40
вывод:
yes
yes
yes
no
напишите либо на языке программирования pascalabc.net(желательно), либо на "с", максимально просто и понятно.
begin
var a:=ArrRandom(ReadInteger('n='),1,99);
a.Println;
var k:=ReadInteger('k=');
Writeln('Сумма чисел, кратных ',k,': ',
a.Where(x->x mod k=0).Sum)
end.
Тестовое решение:
n= 18
45 17 36 15 65 17 97 44 49 43 60 51 66 72 18 55 71 85
k= 12
Сумма чисел, кратных 12: 168
// PascalABC.NET 3.1, сборка 1218 от 12.04.2016
begin
var a:=ArrRandom(ReadInteger('n='),1,20);
a.Println;
a.Where((x,i)->x=i+1).Println
end.
Тестовое решение:
n= 16
17 2 1 14 20 19 10 3 9 15 14 4 2 7 2 16
2 9 16