Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.07.2011, 18:39   #1
Amid1990
Пользователь
 
Регистрация: 15.11.2010
Сообщений: 17
По умолчанию Вычислить сумму квадратов простых чисел (PascalABC)!

Помогите решить задачу через подпрограммы.

Напишите программу вычисления суммы квадратов простых чисел, лежащих в интервале (M,N)
Amid1990 вне форума Ответить с цитированием
Старый 03.07.2011, 18:47   #2
l1pton17
Пользователь
 
Аватар для l1pton17
 
Регистрация: 01.11.2010
Сообщений: 75
По умолчанию

1) делай функцию проверки числа на простоту
2) Заводишь переменную S
3) в цикле целых чисел от M до N, с шагом 1, проверяешь является ли число простым, если да - суммируем к S с квадратом того числа.
l1pton17 вне форума Ответить с цитированием
Старый 03.07.2011, 19:58   #3
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Думаю, паскаль АБЦ похож на турбо паскаль. Мог сделать за 50 руцблей на сотовый телефон.
Вадим Мошев вне форума Ответить с цитированием
Старый 03.07.2011, 20:17   #4
goto ∞
Форумчанин
 
Аватар для goto ∞
 
Регистрация: 21.12.2010
Сообщений: 155
По умолчанию

Держи..
Код:
var
    i : integer;
  m,n : integer;
  sum : integer;

function is_simple(n : integer) : boolean;
var i,sq : integer;
begin
  sq := n div 2;
  result := true;
  for i := 2 to sq do
    if n mod i = 0 then
                      begin
                        result := false;
                        exit;
                       end;

end;

begin
 readln(m);
 readln(n);
 sum := 0;
 for i := m to n do
    if is_simple(i) then
                        sum := sum + (i*i);
  writeln(sum);
  readln;
end.
goto ∞ вне форума Ответить с цитированием
Старый 03.07.2011, 22:56   #5
Amid1990
Пользователь
 
Регистрация: 15.11.2010
Сообщений: 17
По умолчанию

Спасибо goto ∞ я уже вроде как сделал только вот не могу додуматься как исключить из числа простых чисел 1.
Есть какие ни будь идеи? Нужно как ни будь сделать без дополнительных условий.

Код:
Program max_4;
   uses crt;
   var a, b, c,i: integer;
   procedure prostoe(a:integer; var b:integer);
   begin
    if (a mod 2<>0) and (a mod 3<>0) and (a mod 5<>0) and (a mod 7<>0) or (a=2) or (a=3) or (a=5) or (a=7) then begin // нужно как то сделать 1 не простым
    b:=a;
    writeln('Простое',a) end
    else begin b:=0;
    writeln('не простое',a); end;
   end;
Begin
write ('Введите промежуток чисел через Enter');
readln(a,b);
   for i:=a to b do begin
   prostoe(a,b);
   a:=a+1;
   c:=c+b;
   end;
writeln('Сумма простых чисел данного промежутка  =',c);
End.

Последний раз редактировалось Amid1990; 03.07.2011 в 23:00.
Amid1990 вне форума Ответить с цитированием
Старый 04.07.2011, 14:08   #6
goto ∞
Форумчанин
 
Аватар для goto ∞
 
Регистрация: 21.12.2010
Сообщений: 155
По умолчанию

Ну как, без дополнительных условий тождественно выражению "Поменяйте колесо автомобиля без домкрата". Сложно но можно ..
То что выделено красным значить измененный
Код:

Program max_4;
   uses crt;
   var a, b, c,i: integer;

   procedure prostoe(a:integer; var b:integer);
   begin
   if (a <> 1)and(a mod 2<>0) and (a mod 3<>0) and (a mod 5<>0) and (a mod 7<>0) or (a=2) or (a=3) or (a=5) or (a=7) then begin 
   b:=a;
   writeln(a,'- простое') end
   else begin b:=0;
   writeln(a,'- не простое'); end;
   end;

begin
write ('Введите промежуток чисел через пробел);
c := 0;
readln(a,b);
   for i:=a to b do begin
   prostoe(i,b);
   c:=(c+(b*b));// Не просто сумма простых, а сумма квадратоов простых..
   end;
writeln('Сумма квадаратов простых чисел  =',c); //
readln;
End.
goto ∞ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разложить число на сумму простых чисел [Паскаль] Pascal.t Помощь студентам 2 16.12.2010 23:04
Вычислить сумму всех простых чисел denicko Помощь студентам 0 27.10.2010 20:46
Вычислить сумму квадратов kuholor Помощь студентам 4 20.10.2010 16:42
[Pascal] Вычислить сумму квадратов элементов, кратных 3. eliminate Паскаль, Turbo Pascal, PascalABC.NET 3 24.05.2010 14:25