• Товарищи,говорю сразу,задачка не школьного уровня и нужна сегодня к вечеру или завтра к утру,тому кто решит много баллов!

    Вася занимается в математическом кружке и интересуется различными свойствами чисел.Недавно он изучил понятие простого числа. Напомним, что натуральное число n называется простым, если n > 1 и у него есть ровно два делителя: 1 и n.
    Особо интересными Вася считает числа, которые представимы в виде произведения двух различных простых чисел. Вася очень хочет найти количество таких чисел среди чисел от 1 до n,однако считать его вручную не хочет. Поэтому он попросил вас написать для него программу,которая будет вычислять это количество.
    Задано число п. Необходимо найти количество чисел х от 1 до n, которые представимы в виде произведения двух различных простых чисел.
    P/S. Составить блок схему к задаче ;))

Ответы 1

  • Pascal var   n,i,k : integer;    function Prost (a : integer) : boolean;  //Возвращает true если число простоеvar    i,b : integer;    r : boolean;  begin   r := true;   i := 2;   b := a div 2;   While (i <= b) and (r) do    begin     if a mod i = 0 then      r := false;    i := i +1;   end;   Result := r;  end;  function chet (l : integer) : integer; //Определяет кол-во     var   i,s : integer;                        //возможных произведений                                                  // в числовой последовательносьти                                                 //заданной длиныbegin     s := 0;    for i := 0 to k do      s := s +(k - i);    result := s;     end;begin  readln (n);  k := 0;     for i := 2 to n do    if prost(i) then begin      k := k +1;       //write (i,' '); // Вывод простых чисел(если надо, то раскоменьтить)      end;    writeln ();writeln ('Кол-во простых чисел на диапазоне = ',k);  writeln ('Кол-во произведений ',k,' различных чисел : ',chet(k));    end. Вроде работает, хотя вероятно есть более эффективный алгоритм.Единицу не учитывал как простое.Блок схему рисовать не буду - геморойной, да и не силен я в этомПросто попытаюсь объяснить алгоритм1) Мы находим все простые числа на диапазоне от 1 до n(выполняется функцией (prost), и перебором.2) Исходя из кол-ва найденных простых чисел мы можем найти кол-во их произведений. Т.к все числа различны и идут в порядке увеличения.Это делается с помощью функции (chet)
    • Автор:

      allen438
    • 1 год назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years