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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2010, 16:28   #1
loloverg
Пользователь
 
Регистрация: 16.05.2010
Сообщений: 16
Печаль циклы в Паскале

Нужно решить 2 задачки циклами в Паскале
1)Дано натуральное n. Найти суму цифр.
2)Дано простое число n.найти следующее простое число.
loloverg вне форума Ответить с цитированием
Старый 16.05.2010, 16:33   #2
DoDge_VipeR
Форумчанин
 
Аватар для DoDge_VipeR
 
Регистрация: 30.04.2010
Сообщений: 317
По умолчанию

=I=
Код:
var s,n:integer;
begin
readln(n);
s:=0;
while n<>0 do
begin
s:=s+n mod 10;
n:=n div 10;
end;
writeln(s);
readln;
end.
=II=
Код:
 var k:Integer;
function isPrime(X: word): boolean;
var
i: integer;
Begin
     isPrime:=false;
     if not odd(x) and (x<>2) { проверяем на чётность  }
          then exit;
     i:=3;
     while i <= sqrt(x) do { проверяем только нечётные }
     begin
          if x mod i = 0 then Exit;
          inc(i,2);
     end;

     isPrime:=true;
End;
begin
  Readln(k);
  k:=k+1;
  while not isPrime(k) do
  k:=k+1;
  Writeln(k);
  readln;

end.
icq:627719[сто сорок четыре] - помогу с Pascal & Delphi!

Последний раз редактировалось DoDge_VipeR; 16.05.2010 в 16:39.
DoDge_VipeR вне форума Ответить с цитированием
Старый 16.05.2010, 16:41   #3
loloverg
Пользователь
 
Регистрация: 16.05.2010
Сообщений: 16
По умолчанию

спасибо большоэ
буду дуже благодарен если ище блок схеми поможете(
loloverg вне форума Ответить с цитированием
Старый 16.05.2010, 16:45   #4
Chudo4258
Форумчанин
 
Аватар для Chudo4258
 
Регистрация: 19.02.2009
Сообщений: 622
По умолчанию

Цитата:
Дано простое число n.найти следующее простое число.
Код:
program Project2;
var i,n:integer;
function Pr(x:integer):boolean;
begin
Pr:=true;
 for i:=2 to x-1 do
  if x mod i = 0 then
                   begin
                    Pr:=false;
                    exit;
                   end;
end;
begin
readln(n);
inc(n);
while not(Pr(n)) do
 inc(n);
writeln(n);
readln
end.
Жми на весы!!!
Chudo4258 вне форума Ответить с цитированием
Старый 16.05.2010, 23:15   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Chudo4258
плохо..
1) число 2 по Вашему алгоритму не простое?!
а единица — простое?
Это не так!

2) зачем цикл крутить до x-1,
когда достаточно до Trunc(sqrt(N)) ?

3) а если x будет отрицательное, что Выдаст программа? следующее отрицательное простое число? Так таких не бывает!

____________________
DoDge_VipeR
функция определения простого числа остроумная!
но вместо Word я бы всё же рекомендовал что-нибудь более "вместительное" (ну и плюс проверка на положительность!, разумеется!):
Код:
function isPrime(X: longint): boolean;
var
  i: integer;
Begin
     isPrime:=false;
     if x<2 then Exit;
     if not odd(x) and (x<>2) { проверяем на чётность  }
    ..... дальше по коду...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Циклы на Паскале. vlad1991 Помощь студентам 34 22.06.2012 13:13
Задачи на циклы в Паскале spankyham Помощь студентам 31 14.05.2010 18:06
Циклы в паскале ates Помощь студентам 3 14.05.2010 18:05
Циклы и ООП на Паскале Nastery Помощь студентам 4 31.01.2010 22:30
Задача в паскале. Циклы Vitruvian Паскаль, Turbo Pascal, PascalABC.NET 0 04.06.2009 17:15