Toreador
Гродненец
Репутация: +22/-0
Offline
Пол:
Сообщений: 226
mode move move
|
Да ну её....... У меня всё считает по задаче и это круто........ хм.... а как на счёт графов?
|
|
|
Записан
|
+++++++++++++++++++++++++++++
|
|
|
Hackett
|
Народ, небольшой вопросик: как задать random в области [a,b], где a и b любые числа???
|
|
|
Записан
|
|
|
|
DeGree
Гродненец
Репутация: +7/-0
Offline
Пол:
Сообщений: 228
... it's me ...
|
Народ, небольшой вопросик: как задать random в области [a,b], где a и b любые числа??? RandomNumber:=a+(b-a)*random;
|
|
|
Записан
|
... nothing else matters ...(Metallica)
|
|
|
Hackett
|
Спасибо, но мне показали: RandomNumber:=random(b-a+1)+a .
|
|
|
Записан
|
|
|
|
TlGRA
|
Hacket, тебе правильно подсказали.Верь Витольдовичу!
|
|
|
Записан
|
|
|
|
H.A.M.
Гродненец
Репутация: +7/-0
Offline
Пол:
Сообщений: 219
I love money and dollars
|
Пилять аптимайзеры туевы паминяйте % на /, мод на див а потом тестите
|
|
|
Записан
|
|
|
|
DeGree
Гродненец
Репутация: +7/-0
Offline
Пол:
Сообщений: 228
... it's me ...
|
Спасибо, но мне показали: RandomNumber:=random(b-a+1)+a . Hacket, тебе правильно подсказали.Верь Витольдовичу! random выдает в диапазоне [0, 1), т.е. где-то [0, ~0.9999], давайте пример рассмотрим a=1, b=2 получаем, что возвращается [1, ~2.9998] ~ [1, ~3], а не как заказывали [1, 2]... поэтому прально RandomNumber:=a+(b-a)*random; тут ближе --- [1, ~1.9998] ~ [1, 2] Или я не прав?
|
|
« Последнее редактирование: 01 Декабрь 2006, 13:06:21 от DeGree »
|
Записан
|
... nothing else matters ...(Metallica)
|
|
|
Hackett
|
У меня вся прога была построена на целочисленных значениях и твой вариант не подходил(выдавало ошибку о попытке присвоения типа Double).
|
|
|
Записан
|
|
|
|
Toreador
Гродненец
Репутация: +22/-0
Offline
Пол:
Сообщений: 226
mode move move
|
У кого-нить есть прикольные задачки?....
|
|
|
Записан
|
+++++++++++++++++++++++++++++
|
|
|
alexin
Новенький
Репутация: +0/-0
Offline
Сообщений: 6
Мяу
|
Блин парень походу токо учится вы его уже с головы до ног помоями окатили..... Dum spiro spero если можно объясни не допонимаю как твоя прога работает System.out.println(n); System.out.println("Started at ->"+new Date()); ArrayList primes= new ArrayList(); primes.add(new Integer(3)); int i_sqrt; int k=0; Integer subList[]=null; loop:for (int i=5 ; i < n ; i += 2) { i_sqrt=(int)Math.sqrt(i); if (((Integer)primes.get(k)).intValue()<=(i_sqrt)) { k++; subList = (Integer[])primes.subList(0,k).toArray(new Integer[k]); } for (int j = 0; j< k ;j++) { if (i%(subList[j]).intValue()==0) { continue loop; } } primes.add(new Integer(i)); } System.out.println("Finish time ->"+new Date()); System.out.println(primes.size()); } заранее спасибо
|
|
|
Записан
|
|
|
|
X-Penguin
|
чтото java ни**я ни pascal нет я конечно неопытный всего полгода втравливают яву в универе но чтото мне подсказывает... заканчиваем личную переписку - буду штрафовать
|
|
|
Записан
|
|
|
|
VooDoo
|
Dum spiro spero это всего лишь подпись... дык там же всего лишь 2 фора и вроде всё понятно... Говори свои варианты, а я буду говорить прав ты или нет:)
|
|
|
Записан
|
Are you human? - My body is. Do you feel pain? - My body does. ..- --- --- -.. --- ---
|
|
|
Toreador
Гродненец
Репутация: +22/-0
Offline
Пол:
Сообщений: 226
mode move move
|
Пишите задачки или алгоритмы!..... Программеры, где вы? :-?
|
|
|
Записан
|
+++++++++++++++++++++++++++++
|
|
|
VooDoo
|
эээххх времени нету, задачи всякие писать. Только если старенькое что-нить вспомнить. Вот например: есть выражение что-нить типа (3*(4*x+24)+45*y)/z. Из этого надо построить граф операций: "/" / \ + z / \ * * / \ / \ 3 + 45 y / \ * 24 / \ 4 x
|
|
|
Записан
|
Are you human? - My body is. Do you feel pain? - My body does. ..- --- --- -.. --- ---
|
|
|
H.A.M.
Гродненец
Репутация: +7/-0
Offline
Пол:
Сообщений: 219
I love money and dollars
|
ите задачки или алгоритмы!..... Программеры, где вы? пасчитай 1238947629049578133523645786797890789747658 9748957230948577858
|
|
|
Записан
|
|
|
|
DeleteR
|
пасчитай 1238947629049578133523645786797890789747658 9748957230948577858Оооо, ну это к госпоже Просвирниной И. Б., преподавателю ФакМИ ГрГУ!!! У нее это хорошо получается. 4 курс программеров поймет это весной!
|
|
|
Записан
|
|
|
|
maxposedon
|
пасчитай 1238947629049578133523645786797890789747658 9748957230948577858а филе тут считать? последняя цифра в ответе - 4, все остальные цифры скажу за денежку... считайте/провряйте
|
|
|
Записан
|
|
|
|
DIAMENT in ban
|
Извиняюсь что перебиваю. Какая разница между Borland Pascal, Turbo Pascal, Free Pascal и.т.д. ?
|
|
|
Записан
|
"Jestem jak żołnierz na wszystko gotowy. I jak w Ojczyźnie, tak i w obcym kraju..."
|
|
|
maxposedon
|
Deus6666, напиши, тут 5min работы... написать ничего не мешает в повседневной жизни вон Vodoo же спокойно написал на Java, но ко-о-о-д получился "мама дорогая" ... и вообще, пишу на том, что лучше знаю
|
|
|
Записан
|
|
|
|
VooDoo
|
сам алгоритм проще кодается
|
|
|
Записан
|
Are you human? - My body is. Do you feel pain? - My body does. ..- --- --- -.. --- ---
|
|
|
maxposedon
|
Запросто, давай псведо-код, либо диаграму, либо описание. Я этого алгоритма не знаю. primes - массив простых чисел primes := [2] for i from 3 to N step 2 begin prostoe = true for j from 0 to primes.size begin sqrt_i = sqrt(i)+1 if i%primes[j] = 0 then begin prostoe = false break end if primes[j] > sqrt(i) then break end if prostoe then primes << i end
и вообще тут были приведены коды на C++/Ruby/Java, неужели разобраться в коде так сложно? или так поленился?
|
|
« Последнее редактирование: 05 Январь 2007, 11:28:00 от maxposedon »
|
Записан
|
|
|
|
maxposedon
|
ну... сравнивать читабельность кода я не буду, каждый может сам сравнить но в глаза бросаются некоторые странные вещи 1. работа с массивами... if High(Primes) <= TopInt then SetLength(Primes, Length(Primes) + 1000); (если я правильно понял код, тут должен быть что-то такое) "если массива нехвататает, увеличить его на 1000 элементов" но! что такое High(Primes) оно эквивалетно Length(Primes) чтоли?.. и вообще length/setlength механизм это танцы с бубнами (имхо) 2. да-да вот именно этим всех Pascal и бесит заведением переменных для работы с сущностями, 2.1 хочешь массив - вот тебе к нему ещё щётчик 2.2 хочешь немного необычный for, всё.. получи while (хорошо что не if и goto) 3. а что кампилятор до сих пор не научился генерировать код одинаковый для inc(i,2) и i := i+2? или считается, что inc форма более читаемая ? P.S. будет время посмотри, как твой код работает при n=100_000_000 и n=10_000_000
|
|
« Последнее редактирование: 05 Январь 2007, 12:40:50 от maxposedon »
|
Записан
|
|
|
|
maxposedon
|
length/setlegth - я знаю зачем, но мне не нравицца, что сам язык этим перегружен просто перво-очередной параметр - читаемость кода (имхо) все оптимизации и прочие вторичны, с pascal мне не нравицца именно читаемостью и я хочу для похожих вещей, похожий код... и конечно без велосипедов
|
|
|
Записан
|
|
|
|
VeDbMo4ka
|
Помогите бедной девушке решить задачку: Даны действительное число а, нат. число n. Вычислить a(a+1)...(a+n-1). Исспользовать нужно цикл For.
|
|
« Последнее редактирование: 15 Январь 2007, 03:37:18 от Ryzhaia »
|
Записан
|
|
|
|
coolasm
|
var a:real; result:real; n:integer; i:integer; begin readln(a); {считываем переменную a} readln(n); {считываем переменную n} result:=a; for i:=1 to n-1 do begin result:=result*(a+i); {a*(a+1)*...(a+n-1)} end; writeln(result); {выводим результат} end.
Проверять непроверял но вроде должно работать
|
|
|
Записан
|
HTTP Error 404 - File or directory not found.
|
|
|
Largo
|
Итак, самый классный алгоритм для нахождения простых чисел? Хм? Пока ещё не видел круче Эратосфена(до 255)... Program Eratosfen; Const N = 201; {Возможно любое значение 1 < N < 256} Var A, B: Set of 2 .. N; K, P: Integer; Begin { Формирование исходного множества A; B - искомое множество простых чисел, сначала - пустое) A := [2 .. N]; B := [ ]; P := 2; Repeat {Поиск минимального числа в множестве A} while Not (p in A) do p := p+1; {Включение нацденного числа в множество B} b := b + [p]; k := p; {Исключение из A чисел, кратных P} while k<=n do begin a := a - [k]; k := k + p; end until a = [ ]; { Вывод результата, т.е. всех чисел из множества B в порядке возрастания} for p := 2 to n do if p in b then writeln(p) end. Может кто предложит круче?! До 255 чисел согласен, алгоритм рулит!!!
|
|
|
Записан
|
|
|
|
|