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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2009, 09:30   #1
felmor
Пользователь
 
Регистрация: 24.12.2008
Сообщений: 29
По умолчанию циклические процессы

Узнать, можно ли записать заданое число в виде 2-ух простых чисел.
felmor вне форума Ответить с цитированием
Старый 05.02.2009, 10:04   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну и что непонятного? Паскаль не знаешь или алгоритм неясен?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.02.2009, 14:30   #3
Plague
Забанен
Форумчанин Подтвердите свой е-майл
 
Аватар для Plague
 
Регистрация: 01.11.2006
Сообщений: 420
По умолчанию

http://ru.wikipedia.org/wiki/Проблема_Гольдбаха
Если ничто другое не помогает, прочтите, наконец, инструкцию! Аксиома Кана
Plague вне форума Ответить с цитированием
Старый 05.02.2009, 15:58   #4
Last
В прострации
Форумчанин
 
Регистрация: 13.01.2009
Сообщений: 239
По умолчанию

Быть может мой алгоритм не из лучших, но можно организовать проверку чисел решетом Эратосфена.
Пусть дано число N, определить можно ли записать его в виде суммы двух простых.
1)Решетом Эратосфена определяем значения простых чисел < N и их количество(пусть их X штук)
2)По ходу определения создаём массив A из этих чисел
3)В цикл от 1 до Х(for i) вкладываем ещё один такой же цикл(for j) и проверяем если A[i]+A[j]=N выводим на экран сообщение о том, что можно, в противном случае о том, что нельзя.
Пол-жизни сидючи, в монитор глядючи...
Last вне форума Ответить с цитированием
Старый 05.02.2009, 17:24   #5
CrazyRabbit
Пользователь
 
Аватар для CrazyRabbit
 
Регистрация: 27.10.2008
Сообщений: 38
По умолчанию

любое четное число больше двух можно представить в виде суммы 2 простых чисел!
Код:
function Prost(m:longint):boolean;
var i,kol:longint;
begin
kol:=0;
for i:=2 to trunc(sqrt(m)) do
if m mod i=0 then
 inc(kol);
if kol<>0 then
 Prost:=false;
 end;

var n,i:longint;
begin
write('vvedite chislo ');
readln(n);
 i:=2;
  while i<=(n div 2)+1 do
   begin
    if prost(i) then
     if prost(n-i)then
       begin
	writeln('YES');
	 write(i,' ',n-i);
	 halt;
       end;
    if i=2 then
     inc(i)
      else
       inc(i,2);
  end;
   writeln('NO');
   end.

Последний раз редактировалось CrazyRabbit; 05.02.2009 в 18:04.
CrazyRabbit вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Узнать работает ли процесс. subsonic Win Api 9 16.04.2009 18:20
ЦИКЛИЧЕСКИЕ АЛГОРИТМЫ юра 3 Паскаль, Turbo Pascal, PascalABC.NET 1 25.12.2008 16:25
Циклические программы HECTOR.A. Помощь студентам 2 25.11.2008 10:19