![]() |
Народ мне тут для школы надо прогу написать, но совсем нет времени, я бы ее конечно и сам написал... Кароче надо чтобы разкладовало любое четное число на всевозможные простые числа и выводило это на икран. Обезательно с использованием функции, так же можно использовать циклы, операторы прерывания цыклов (break, continue (если это так пишется)): ) Если кто поможет буду очень благодарен, самому лень))
Добавлено: Блин вот я написал, а оно не работает. Чо такое? У меня вообще помойму паскаль глючный, где можно нормальный найти? Или вообще отправте на мыл плз Вот то что я написал: program only18; var n:integer; function only (a:integer):integer; var q,w,e:integer; begin if (a>2)and((a mod 2)=0) then * begin * *for q:=1 to (a-1) do * *e:=a-q; * * * begin * * * *for w:=1 to q do * * * *if ((q mod w)<0)or((q mod w)>0) then writeln (q) * * * end; * * * begin * * * *for w:=1 to e do * * * *if ((q mod w)<0)or((q mod w)>0) then writeln (e); * *end; *else writeln ('Clan only for ever! '); end; begin readln (n); only (n); readln end. Почуму не раьотает? [s]Исправлено: Only keeper, 15:35 14-04-2004[/s] |
Вот на си, влом на паскаль переделывать - сам сделаешь (вроде работает):
#include<stdio.h> #include<conio.h> void main() { printf("\n Простые числа от 1 до 1000 :"); int i,j,k; for(i=1; i<=1000; i++) { k=0; for(j=2; j<i; j++) if (int(i/j)==(float)i/(float)j) k++; if (k==0) printf(" %i",i); } getch(); } сам добавишь чтоб до нужного числа было - ломает делать считывание с клавиатуры... |
suxxl
Во-первых, Вы неправильно поняли задачу. Прочитайте еще раз пост Only keeper'а. Во-вторых, Ваш пример содержит крайне неэффективный алгоритм и проверки. Крайне. Only keeper ![]() Цитата:
|
2 hasherfrog:
да, немного невнимательно прочитал... а насчет алгоритма - я это тут быстренько в форме написал и не компилил даже... а вообще ты прав, самому нужно думать, а не других просить ... |
Как понимать: "раскладовало на всевозможнае простые числа", может на простые множители или...
|
Есть у меня подозрение, что Only keeper сам некорректно привел условия задачи. Что-то мне подсказывает, что надо разложить четное число на два простых числа. Потому что если не на два, то вариантов - огромное количество. Например 4 = 1 +1 + 1 + 1, 2+ 1 + 1, 3 + 1, 2 + 2. А 9998?
Кстати, почему в условиях "четное" - потому что любое нечетное (кроме 1) - это четное + нечетное. Вообще, емнип, данная задача имеет отношение к алгоритму шифрования данных RSA. Короче, меня самого зацепило... Код:
#include <stdio.h> |
Время: 09:45. |
Время: 09:45.
© OSzone.net 2001-