Svetlana191
?>

ЯЗЫК ПИТОН!! 1) Дано натуральное число N>1. Выведите все его простые натуральные делители с учетом кратности. Алгоритм должен иметь сложность O(n−−√ Входные данные Вводится натуральное число N≤2∗109. Выходные данные Выведите ответ на задачу. 2)Количество всех натуральных делителей натурального числа n обозначается τ(n). Сумма всех натуральных делителей числа n обозначается σ(n). Входные данные Дано натуральное n≤109. Выходные данные Выведите τ(n) и σ(n). Примечание Сложность алгоритма должна быть O(n−−√). 3)Два различных числа n и m называются дружественными, если сумма делителей числа n (включая 1, но исключая само n) равна числу m и наоборот. Например, 220 и 284 – дружественные числа. Входные данные Дано число k≤50000 Выходные данные Выведите все пары дружественных чисел, каждое из которых не превосходит k. Пары необходимо выводить по одной в строке, разделяя числа в паре пробелом. Каждая пара должна быть выведена только один раз (перестановка чисел новую пару не дает).

Информатика

Ответы

ЧумичеваГеннадьевна1827

1)

n = int(input())

ans = []

for i in range(int(n ** 0.5 + 1)):

if n % i == 0:

ans.append(i)

print(*ans)

2)

x = int(input())

a = 0

d = 2  

s = int(x/2) + 1

for i in range(2, s):  

   if x % i == 0:

       d += 1

       a += i

print(d, x + 1 + a)

3)

k = 10000

ans = {}

   

def d(number):

   return sum(x for x in range(1, (number // 2) + 1) if number % x == 0)

   

for i in range(1, k+1):

   a = d(i)

   if i == d(a) and i != a:

       if i and a not in pairs:

           pairs[i] = a

print(pairs)

vickuznetsova8677
Если требуется выводить соответствующее сообщение в случае, когда таких чисел нет:
var i, x, k : integer;
Begin
 k:=0;
 for i:=1 to 5 do begin
 readln(x);
 if ((x>0) and (x<5)) or ((x>-8) and (x<-1)) then begin
   k:=k+1;
   writeln(x);
 end;
 end;
 if k=0 then writeln('нет таких чисел');
End.

Если требуется выводить соответствующее сообщение каждый раз когда число не входит в промежуток:
var i, x : integer;
Begin
 for i:=1 to 5 do begin
 readln(x);
 if ((x>0) and (x<5)) or ((x>-8) and (x<-1)) then
   writeln(x)
 else writeln(x,' не входит в промежуток');
 end;
End.
menametov
Var n : int64;

Function isPali(A : int64) : Boolean;
Var B : int64;
Begin
  B:=1;
  While B<A do B:=B*10;
  B:=B div 10;
  If A>9 then isPali:=((A div B)=(A mod 10)) and isPali(A mod B div 10) else isPali:=True;
end;

Begin
  Readln(n);
  If isPali(n) then Writeln('Это полиндром.') else Writeln('Это не полиндром.');
  Write('Его квадрат ',sqr(n));
  If isPali(sqr(n)) then Writeln(' полиндром.') else Writeln(' не полиндром.');
end.

Хотя в Pabc.net есть функция и покороче:

Function IsPali(B : Longint) : Boolean;
Begin
  IsPali:=(B=IntRevers(B));
end;

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

ЯЗЫК ПИТОН!! 1) Дано натуральное число N>1. Выведите все его простые натуральные делители с учетом кратности. Алгоритм должен иметь сложность O(n−−√ Входные данные Вводится натуральное число N≤2∗109. Выходные данные Выведите ответ на задачу. 2)Количество всех натуральных делителей натурального числа n обозначается τ(n). Сумма всех натуральных делителей числа n обозначается σ(n). Входные данные Дано натуральное n≤109. Выходные данные Выведите τ(n) и σ(n). Примечание Сложность алгоритма должна быть O(n−−√). 3)Два различных числа n и m называются дружественными, если сумма делителей числа n (включая 1, но исключая само n) равна числу m и наоборот. Например, 220 и 284 – дружественные числа. Входные данные Дано число k≤50000 Выходные данные Выведите все пары дружественных чисел, каждое из которых не превосходит k. Пары необходимо выводить по одной в строке, разделяя числа в паре пробелом. Каждая пара должна быть выведена только один раз (перестановка чисел новую пару не дает).
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Aleksei1463
sn009
Voronin-Albertovich
ASRodichev
annakuznetsova841
betepah
skvorec3424
mishamedbrat
gelena03
osipovasalex5316
Акимцева27
Bogataya Vladimir318
Сурат1199
mbykovskiy
Leonidovich_Elena771