1)Найти 3 совершенное число(программа+блок схемы)2)Определить 35 простое число(программа...

0 голосов
28 просмотров

1)Найти 3 совершенное число(программа+блок схемы)
2)Определить 35 простое число(программа +блок схемы)
3)Дано:трехзначное число ,определить :является ли произведение его цифр трехзначным числом(программа+блок схемы)


Информатика (17 баллов) | 28 просмотров
0

1-2 задания написаны не по-русски. Я не понимаю, что такое "3 совершенное" и "35 простое".

0

Тридцать пятое и третье

0

В смысле по порядку для натурального ряда? Понятно

Дан 1 ответ
0 голосов
Правильный ответ

Var
  i, n, s: longint;
  d, k: integer;

begin
  i := 3; k := 0;
  repeat
    s := 1;
    for d := 2 TO Trunc(sqrt(i)) do
    begin
      n := (i div d);
      if n * d = i then s := s + d + (i div d);
    end;
    if int(sqrt(i)) = sqrt(i) then s := s - Trunc(sqrt(i));
    if s = i then k := k + 1;
    i := i + 1
  until (k = 3);
  Writeln('Третье совершенное число равно ',s)
end.

Тестовое решение:
Третье совершенное число равно 496

const
  k=35; { k-е по порядку простое число }

var
  i,j,n,m:integer;

begin
  n:=1; i:=1;
  repeat
    j:=2;
    m:=round(sqrt(i));
    while (i mod j <>0) and (j<=m) do j:=j+1;<br>    if j>m then n:=n+1;
    i:=i+1
  until (n=k);
  Writeln(i-1)
end.

Тестовое решение:
137

var
  n, d1, d2, d3: integer;

begin
  Write('Введите трехзначное число ->');
  Readln(n);
  d1 := (n div 100);
  d2 := ((n mod 100) div 10);
  d3 := (n mod 10);
  if (d1 * d2 * d3 in [100..999]) then
    Writeln('Произведение цифр трехзначное')
  else Writeln('Произведение цифр не трехзначное')
end.

Тестовое решение:
Введите трехзначное число ->518
Произведение цифр не трехзначное

*** В блок-схемах использованы обозначения:
sqrt(x) - квадратный корень от х;
\ - операция целочисленного деления
% - операция остатка от целочисленного деления    




(142k баллов)