Zero234
29.01.2020 09:51

Задача №1700. Ревнивые числа В Нумберляндии проблема: простое число p ревнует к другому простому числу q . Оно думает, что в интервале от a до b включительно содержится больше чисел, которые делятся на большую степень q чем на степень p справиться с сомнениями. Пусть (,) a ( n , x ) – максимальное k , такое, что n делится нацело на x k . Будем называть число n p -доминирующим над числом q если (,)>(,) a ( n , p ) > a ( n , q ) . Необходимо определить, сколько чисел из интервала от a до b включительно являются p -доминирующими над q . Формат входных данных Первая строка содержит четыре целых числа ,,,(1≤,≤1018,1≤,≤109) a , b , p , q ( 1 ≤ a , b ≤ 10 18 , 1 ≤ p , q ≤ 10 9 ) . ≠, p ≠ q , p и q — простые. Формат выходных данных Выведите одно число — сколько чисел из интервала от a до b включительно являются p -доминирующими над q . Примечание В примере числа 3, 9, 15 и 18 являются 3 доминирующими над 2.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Tractorust
26.02.2020 17:48
Const nx=30; mx=30;
var r:array[1..nx,1..mx] of integer;b:array[1..mx] of integer;
i,j,n,m,k,sum,min:integer;
begin
min:=40;
randomize;
write('Введите n,m: ');readln(n,m);
writeln('Исходная матрица: ');
for j:=1 to m do begin
for i:=1 to n do begin
r[i,j]:=random(20)-10;
sum:= sum + r[i,j];end;
b[j]:=sum;sum:=0;
end;
for i:=1 to n do begin
for j:=1 to m do begin
write(r[i,j]:4);end;
writeln;end;
writeln;
for j:=1 to m do begin
write(b[j]:4);
if min > b[j] then begin
min:= b[j]; k:= j;end;
end;
writeln;writeln;
for i:=1 to n do begin
for j:=1 to m do begin
if j=k then write(r[i,j]:4);end;
writeln;end;
end.
0,0(0 оценок)
Ответ:
glukhovivan2007
26.02.2020 17:48
Const nx=30; mx=30;
var r:array[1..nx,1..mx] of integer;b:array[1..mx] of integer;
i,j,n,m,k,sum,min:integer;
begin
min:=40;
randomize;
write('Введите n,m: ');readln(n,m);
writeln('Исходная матрица: ');
for j:=1 to m do begin
for i:=1 to n do begin
r[i,j]:=random(20)-10;
sum:= sum + r[i,j];end;
b[j]:=sum;sum:=0;
end;
for i:=1 to n do begin
for j:=1 to m do begin
write(r[i,j]:4);end;
writeln;end;
writeln;
for j:=1 to m do begin
write(b[j]:4);
if min > b[j] then begin
min:= b[j]; k:= j;end;
end;
writeln;writeln;
for i:=1 to n do begin
for j:=1 to m do begin
if j=k then write(r[i,j]:4);end;
writeln;end;
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота