Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.09;
Скачать: CL | DM;

Вниз

Задачи на Паскаль   Найти похожие ветки 

 
Jackson ©   (2002-12-12 21:17) [0]

Ув.Мастера!!!Завтра контрольная,а я не знаю даже как примерно сделать то,что от меня хотят...Подскажите,пожалуйста,как их решать!!
Задача1:
вычислить:
y = sin2x - 3cosx + 4x на промежутке [-2;3] с шагом 0.3;
Задача2:
Дано: В = 54
Найти все простые числа меньше В.
Задача3:
Найти все четырёхзначные числа, которые являются полными квадратами некоторых натуральных чисел.

Огромное человеческое ПЛИЗ!!!!Буду рад любой помощи!!!


 
Opuhshii ©   (2002-12-13 00:05) [1]

1. и в чем вопорос?? уравнение у вас есть... параметры тоже... невижу вопроса.
2. наверное у вас возникли проблемы с пониманием простого числа. лечится чтением учебника по алгебре.
3. определить х для границ известных y и все что находится в диапазоне x будет решением,..


 
Мазут Береговой   (2002-12-13 02:06) [2]

Поздно уже...
Опоздали мы...


 
Jackson ©   (2002-12-18 23:08) [3]

Мазут Береговой
ещё не поздно - контрольную перенесли на неделю(послезавтра)!!


 
Anatoly Podgoretsky ©   (2002-12-18 23:23) [4]

Ничего еще раз опождать можно, не привыкать


 
VictorT ©   (2002-12-18 23:27) [5]

Извеняюсь, недели маловато, чтоб такую задачу решить, за две смогу, попробуй ещё оттянуть контрольную :)


 
Jackson ©   (2002-12-20 00:00) [6]

Приколисты....:)Издеваетесь?


 
Aristarh ©   (2002-12-20 00:09) [7]

>Jackson © (20.12.02 00:00)
>Приколисты....:)Издеваетесь?

Нет, не издеваемся!

А вообще не надо здесь спрашивать (хороший совет)

Когда я делал курсовой по програмированию (си билдер) в 1998 году, то я с ним протрахался (извините) пол года. Хотя, если бы я знал об этом сайте, то он бы занял у меня 2 месяца (от силы).

Никогда не станешь стоящим программером, если постоянно будешь у кого-нибудь спрашивать. А вот если кучу ночей не поспишь и будешь сам доходить до алгоритмов - тогда у тебя есть будущее.

Я начинал со спекрума, и провел немало бессоных ночей за открытием самых банальных алгоритмов. Но я это сделал сам!



 
Marser ©   (2002-12-20 00:31) [8]

Как раз к вопросу о программерах и кодерах.Задачи примитивнейшие!


 
OlDemon ©   (2002-12-20 07:10) [9]

2 Jackson> Пиши свой e-mail лентяй :)))
Или тебе на chung@korona.lg.ua писать?
ЗЫ с тебя кола! :)))


 
zavdim ©   (2002-12-20 07:23) [10]

Я с МК-61 начинал, потом на СМ-4 Fortran.
литературы тогда по нулям (о форумах ....), зато когда сделаешь - ощущения прекрасные.

> OlDemon © (20.12.02 07:10)
> 2 Jackson> Пиши свой e-mail лентяй :)))
> Или тебе на chung@korona.lg.ua писать?
> ЗЫ с тебя кола! :)))

Колы мало будет, да и к чему?


 
grifon ©   (2002-12-20 08:16) [11]

Задача 2:
Выводит все простые числа меньше некоторого числа:

uses crt;

var num, i: integer;

function type_number(n: integer): boolean;
var s: integer;
begin
for s := 2 to (n - 1) do
if (n mod s = 0) then {непростое}
begin
type_number := false;
exit;
end;
type_number := true;
end;

begin
clrscr;
write("Введите число: ");
readln(num);
for i := 1 to num do
if type_number(i)=true then write(i, " ");
while not keypressed do ;
end.


 
zavdim ©   (2002-12-20 08:20) [12]

ну да - встретились два одиночества.
(или приведенный пример - шутка, показывающая как не надо решать данную задачу?)


 
Sha ©   (2002-12-20 09:05) [13]

2 grifon © (20.12.02 08:16)
Любая училка будет в восторге.


 
OlDemon ©   (2002-12-20 09:12) [14]

2 zavdim>
> Колы мало будет, да и к чему?
Колы много не бывает в принципе :))
Просто так, трупопаскакаль падший в небытие вспомнить, да и человеку помочь. ИМХО если это не сложно и не отнимет много времени грех не помочь.
>ну да - встретились два одиночества.
>(или приведенный пример - шутка, показывающая как не надо >решать данную задачу?)
что ты имеешь против? в принципе пример рабочий. Конечно он не лишен огрехов как то for i := 1 to num do а надо до num-1, и можно написать красивее, но вариант рабочий.


 
zavdim ©   (2002-12-20 09:27) [15]


> и человеку помочь. ИМХО если это не сложно и не отнимет
> много времени грех не помочь.

Стоит ли? Если за неделю самостоятельно нельзя решить такие задачи, то стоит ли помогать - по-моему это диагноз.


> что ты имеешь против? в принципе пример рабочий. Конечно
> он не лишен огрехов как то for i := 1 to num do а надо до
> num-1, и можно написать красивее, но вариант рабочий.

Ну да рабочий - Сколько нужно прапорщиков чтобы забить гвоздь в стену? - тоже рабочий вариант предлагается.
Я думаю будет весело проверить на простоту такое число - 15485863.


 
OlDemon ©   (2002-12-20 09:34) [16]

2 zavdim> В данной интерпретации программа не будет работать вообще с такими числами. С longint примерно часов 8 займет (P3 800) :))) Ты свой вариант предложи. Интересно было бы посмотреть. Хотя бы идею.


 
zavdim ©   (2002-12-20 09:41) [17]

За намного меньшее время чем 8 часов, я на Пне166 нашел первый миллион простых чисел (писал на BP - причем сейчас вижу еще варианты ускорения) - приведенное мной и есть миллионное простое число.
Мощности компов возросли - но отменять думалку не надо.
Можете мне прислать любое число до 239 812 014 798 221
и я вам скажу - простое оно или нет, и если нет - дам его разложение. Хотя мой пень слабее чем 800.


 
OlDemon ©   (2002-12-20 09:58) [18]

2 zavdim>
а) ты меняешь задачу - бала задача вывести все простые до указанного, а ты проверяешь число на простоту.
указанная тобой задача решается за 7 секунд - замерял секундомером
б) ты так и не привел лучший код к указаной задаче
в) варианты оптимизации я и сам вижу мне интресно есть ли что-то принципиально новое


 
zavdim ©   (2002-12-20 10:10) [19]

нет так я и вывел все простые вплоть до указанного.
их всего миллион. Смотрим 7*1000000=7000000 сек.
И это простых. А учитывая все остальное, ну за пару лет управитесь.
Код не скажу - сами подумайте, - подумайте, ведь все так просто.
Посмотрите число - 1812812831. И засеките сколько будет считаться оно. Можете засекать по настенным часам - плюс минус час не в счет.
А я посчитаю у себя - и честно(честно) напишу время счета.
Идет? Прям избиение младенцев какое-то.


 
Внук ©   (2002-12-20 10:22) [20]

>>OlDemon ©
Да, такое ощущение, что, например, про метод "Решето Эратосфена" народ не слышал :)
Да и если обычным перебором работать, все равно достаточно ограничиться не (n-1) в цикле, а всего-то Round(Sqrt(n)). Простейшие теоремы теории чисел надо бы помнить :)


 
zavdim ©   (2002-12-20 10:25) [21]

Ну накрапал на Дельфи. Для последнего числа.
Время засекал GetTickCount.
Так вот он зараза говорит за 0 тиков - то есть меньше чем 1 получается?


 
zavdim ©   (2002-12-20 10:26) [22]

Ну вот, Внук - не дали людям голову почесать.


 
Внук ©   (2002-12-20 10:28) [23]

zavdim ©
Не вынесла душа поэта :)
Но я ведь код не привел.


 
OlDemon ©   (2002-12-20 10:42) [24]

2 zavdim>
"Я думаю будет весело проверить на простоту такое число - 15485863" - это не твои слова? Если да то скажи это не изменение задачи? "7*1000000=7000000 сек" так умножать нельзя, сам поймешь почему? И избивать меня не надо да и хлопотно это :)))

2 Внук> Не надо меня лечить всякими "решетами". Повторяю - Я знаю как оптимизировать алгоритм. Мне интересно есть ли что-то новое - например вычисление этих самых простых чисел самому.

ЗЫ: Дабы прекратть косвенные намеки на мою некомпетентность скажу что занял 3 место на области по программерству еще в школе (конечно если это что-то говорит)
И можно на "ты" :))


 
zavdim ©   (2002-12-20 10:54) [25]


> OlDemon © (20.12.02 10:42)
> 2 zavdim>
> "Я думаю будет весело проверить на простоту такое число
> - 15485863" - это не твои слова? Если да то скажи это не
> изменение задачи? "7*1000000=7000000 сек" так умножать нельзя,
> сам поймешь почему? И избивать меня не надо да и хлопотно
> это :)))

Ну ведь весело получилось - правда? Это не изменение. Там есть проверка каждого числа на простоту - функция написана дико.
Я не говорю о разных способах проверки - можно и по AlgoList"у полазить. В пределах школы - эта программа оптимизируется неимоверно. Я к тому что так писать и проверять нехорошо.
Насчет умножения - ясен пень, но боюсь, что результат будет все равно примерно таков. Ну сам(это по поводу ты) подумай: Дано 1000003 - простое. или проверять 1000000 чисел или около 500, для проверки его простоты. Мне кажется - это принципиальное изменение алгоритма - или не так?

> 2 Внук> Не надо меня лечить всякими "решетами". Повторяю
> - Я знаю как оптимизировать алгоритм. Мне интересно есть
> ли что-то новое - например вычисление этих самых простых
> чисел самому.
О таком здесь был недавно разговор. Если уже не в архиве, то ветка гденить возле конца.


> ЗЫ: Дабы прекратть косвенные намеки на мою некомпетентность
> скажу что занял 3 место на области по программерству еще
> в школе (конечно если это что-то говорит)
> И можно на "ты" :))

Да никто не воюет - если что извини. А область какая?


 
esu ©   (2002-12-20 10:58) [26]

С добрым утром

Мне кажется что так будет оптимально:

делаем динамический массив известных простых чисел. И начинам считать с 2х.
Сначала там пусто, так что заносим 2 в простые. потом проверяем 3 на делимости на 2. Не делится - в простые. 4ка делится на 2 - идем дальше. 5 на 2 и на 3 не делится - в простые и так далее.
Четные можно и не проверять - для скорости.
Считаться будет однозначно быстрее предложенного


 
zavdim ©   (2002-12-20 11:06) [27]

Есть только одна проблема - в TP нет динамических массивов. Только самому организовать, но по запрашиваемому вопросу видно, что это - квадратура круга.


 
esu ©   (2002-12-20 11:23) [28]


> zavdim © (20.12.02 11:06)

С динамическим массивом я явно погорячился. Он только до 255 элементов может содержать.
Постоянно перераспределять память тоже плохо. Лучше всего сделать список. Там уж точно поместиться пока память не кончится.

ЗЫ А при чем тут квадратура круга ?


 
OlDemon ©   (2002-12-20 11:28) [29]

2 Дмитрий> Ладно сойдемся на том, что изменение алгоритма ведущее к снижению вариантов хотя бы на 50% является принципиальным :))) А область Пермская. Можно было и по анкете догадаться. Хотя судя по ней мне 7 месяцев :)))).


 
zavdim ©   (2002-12-20 11:40) [30]


> esu © (20.12.02 11:23)
> > zavdim © (20.12.02 11:06)
> ЗЫ А при чем тут квадратура круга ?

Ну как Вы думаете, человек вопрошавший справится с последними вариантами или нет? На самом деле можно и жестким массивом обойтись. Можно примерно прикинуть сколько простых лежит в определенных пределах. Например до 1000 их меньше 150.


 
Sha ©   (2002-12-20 11:44) [31]

Не забывайте: не рекомендуется предлагать преподавателю решения, качество которых превышает качество преподавания.


 
esu ©   (2002-12-20 11:47) [32]


> zavdim © (20.12.02 11:40)

Ну так сказано, что N. Как тут прикинешь...

А вообще правда, в ближайшее время так точно :)


 
esu ©   (2002-12-20 11:49) [33]


> Sha © (20.12.02 11:44)

Тогда просто массив на 64k


 
zavdim ©   (2002-12-20 11:49) [34]

p(x)~x/ln(x). Если не ошибаюсь.
p(x) - число простых не превышающее x.


 
grifon ©   (2002-12-20 13:50) [35]

Че-то все над одной задачкой засели, а ведь задачки-то три!
Насчет корявого алгоритма скажу, что это моя контр. работа по информатике двумесячной давности и тут мне надо было оптимизировать не время работы машыны, а время написания программы. И в моем условии надо было найти все простые числа стоящие до данного включительно. Так что я решил ее правильно, ну а создателю топика надо и самому хотябы немножко разобраться и понять, что ему подходит, а что надо исправить.


 
han_malign ©   (2002-12-20 14:46) [36]

1. 5 - строк, включая инициализацию ординатной переменной и begin, end.
3. помоему вообще издевательство - в одну строку пишется

З.Ы.
> Дабы прекратть косвенные намеки на мою некомпетентность скажу что занял 3 место на области по программерству еще в школе (конечно если это что-то говорит)
- а я второе, но если бы сейчас у меня остался тот код - мне было бы невыносимо стыдно :))) (а как я обиделся когда меня на экзамен по информатике не пустили - мол "А ты чего пришел, у тебя давно 5 стоит")



Страницы: 1 вся ветка

Текущий архив: 2003.01.09;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.011 c
6-24993
Александр
2002-11-08 12:50
2003.01.09
Как назначить безопасность на папку для определённой группы польз


3-24818
XM-AD
2002-12-17 10:17
2003.01.09
Снова кодировки! Что не правильно?


14-25063
tytus
2002-12-20 19:31
2003.01.09
HEEELP!!!


3-24805
Bocman
2002-12-16 19:21
2003.01.09
Выбор записи в DBLookupcomboBox


7-25105
DDS
2002-10-28 10:07
2003.01.09
Подсветка синтаксиса.