![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Гил Бейтс |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Мужской Реальное имя: Серов Алексей Репутация: ![]() ![]() ![]() |
Товарищи помогите пожалуйста!
Определить все представления нечетного числа n в виде суммы трех простых чисел. ps Большая просьба выложить алгоритм, чтобы было понятнее. Спасибо. |
Адель |
![]()
Сообщение
#2
|
![]() Иллюзия мира ![]() ![]() ![]() Группа: Пользователи Сообщений: 180 Пол: Женский Репутация: ![]() ![]() ![]() |
любых трех простых чисел?
подозреваетнся наверное, которыее входят в число..но опять таки же из может и не быть 3 или может быть гораздо больше |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Цитата(Адель @ 2.05.2007 23:27) любых трех простых чисел? Именно любых... Это так называемая "слабая проблема Гольдбаха". Определение - здесь: http://ru.wikipedia.org/wiki/%D0%9F%D1%80%...%B0%D1%85%D0%B0 P.S. По поводу решения задачи - ограничения на величину числа есть? Для не очень больших чисел (не превышающих 255) практически полное решение лежит здесь: разложение числа Все что надо будет доделать - это заполнить множество diapazon простыми числами, используя, например, метод "Решета Эратосфена", и добавить в программу условие, ограничивающее количество чисел тремя... Сообщение отредактировано: volvo - |
Гил Бейтс |
![]()
Сообщение
#4
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Мужской Реальное имя: Серов Алексей Репутация: ![]() ![]() ![]() |
вот собственно сделал, только есть проблема с которой не могу справиться:программа не хочет предствлять число с двумя и более одинаковыми числами(прим. 5+5+1=11)
program x;
uses crt;
var a:array[1..999] of integer;
b, i,j,k,n,c:integer;
begin
clrscr;
writeln('vvesti n');
readln(n);
for i=l to n do
begin
for j:=1 to i div 2 do
begin
if i mod j=0 then k:=k+1;
end;
if k=l then
begin
c:=c+l;
a[c]:=i;
end;
k:=0;
end;
b:=0;
for i:=1 to с do
begin
for j:=i+1 to c do
begin
for k:=j+1 to c do
begin.
if a[i]+a[j]+a[k]=n then begin writeln(a[i],’+’,a[i],'+',a[k]);
b:=b+1;
end;
end;
end;
end;
writeln(‘s=’,s:2);
readkey;
end.
|
Гил Бейтс |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 13 Пол: Мужской Реальное имя: Серов Алексей Репутация: ![]() ![]() ![]() |
гм...
|
мисс_граффити |
![]()
Сообщение
#6
|
![]() просто человек ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: ![]() ![]() ![]() |
b:=0;
for i:=1 to с do
begin
for j:=i+1 to c do
begin
for k:=j+1 to c do
ну, видимо, надо по-другому границы циклов расставить. то есть не j:=i+1, a j:=i. и с k так же. Сообщение отредактировано: мисс_граффити - -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
![]() ![]() |
![]() |
Текстовая версия | 15.04.2025 16:29 |