Можеби една няма да стигне, но ще видим.
Относно задачата за разлагане на число на прости делители:
- 0 не може да се факторизира наистина, така че не е валиден вход.
- 1 може да се факторизира, и се представя като празен списък от делители.
По принцип колко ще е бройката на домашните през целия семестър? Ако има след всяка лекция, това прави 15 домашни. Означава ли това че ако човек (теоретично говорим) изкара 50 точки от 2та теста, и има 15 точки от домашните, няма да има нужда да прави от алгоритмичните задачи накрая (проект) ? :)
мисля че ще е добре за общото благо ако качвате някъде най-сполучливите домашни за да разбираме колко сме некадърни останалите
Моля да бъде взет под внимание последния zip файл които съм изпратила след крайния срок защото той е абсолютно същият като предния rar който съм изпратила навреме(но след крайния срок видях че има проблем при отварянето на rar-а )
Факултетният ми номер е 43808. Надявам се че молбата ми ще бъде уважена.
Вече се вижда
Az polu4ih dve korenno razli4ni ocenki na doma6noto.Kakvo zna4i tova?
Аз писах върху 1вия вариант на домашното, после и по втория, и накрая след като бях предал втория файл, излязоха разни изисквания на които домашните да отговарят. Съжалявам, но това че "принт-а" накрая не бил като този в крайните изискванията (но е като този при първите) - това едва ли влияе по някакъв начин на работата на алгоритъма(дори и да не отговаря на каквито и да е било изисквания). Когато писах програмата, никъде не се казваше, че точно от конзолата трябва да се четат входните данни и т.н. Подкрепям напълно останалите в недоволството им !
Коректно би било, когато условията на които трябва да отговарят домашните се публикуват преди условията на самите домашни ! (да не говорим за модифициране на условието в някакъв по-късен период, както стана с това 1во задание)...
Аз също! Това не е много коректно. При това положение, ще помоля да бъде публикуван алгоритъма, който се е очаквало да напишем.
Сега във връзка с рецензията: Не можах да измисля число до 1 000 000 с повече от 1000 прости делителя. Не съм го доказал математически, но мисля, че няма такива.
Освен това съм доста изненадан, че има тестова постановка, при която времето за изпълнение на програмата ми е повече от 15 секунди. Ето една проста сметка: да допуснем, че има просто число около 1 000 000, за което трябват 1 000 000 деления по модул. И нека вземем 1000 такива числа. Тогава деленията по модул стават 1 000 000 000. За 15 секунди един 2 GHz процесор изпълнява 30 000 000 000 такта. Не че разбирам особено много от хардуер, но ми се струва, че целочисленото деление по модул не отнема повече от 30 такта. И всичко това е хипотетично в най-лошия случай.
И още нещо: ще може ли да обясните как точно се определя оценката и колко са тестовите постановки? Мерси предварително.
"Произведението на първите 10 прости числа е над 1 000 000. Произведението на които и да е други 10 прости числа ще е по-голямо от произведенито на първите 10. Следователно всички числа до 1 000 000 имат по-малко от 10 прости делителя."
Точно това имах предвид, но се изказах неграмотно :)
Наистина ще ми бъде любопитно да видя машината, на която "неефективната" ми програма ще работи повече от 15 секунди. Не говорим за 386 компютри, нали?
Вижте какво, аз изпратих решението на задачата си преди да публикувате изистканията и на 1 Матр тя бе оценена от Преподавателя Веселин Георгиев на 100 точки от 100. Когато видях изискванията вече бях оценена-как според вас трябваше да постъпя! Не ми е за глупава ви оценка, просто бъдете коректни!!!
Съдейки по всичката информация, дадена дотук, би трябвало да имаш 5/10, а не 5/100. Това трябва да се коригира, защото наистина е заблуждаващо...
Относно безобразието, и аз очаквам отговор на въпроса защо оценките на всички бяха понижени СЛЕД вече дадената по-рано рецензия. Ако е имало изискване към сложността на използвания алгоритъм, защо това не е изрично посочено в общите изисквания на заданията?
Съжелявам, че си разбрал нещо, което може би не разбирам правилно, НО ако пак прочетеш ще разбереш "некъдърността се изразява в това, че всичко беше променяно и то в посления момемнт." Нито знам дали точно има определен човек или не, това не ме интересува, нямам желание да нагрубявам никой, и после да ме гледате зле. Понеже - ТИ и другите организатори решавате да подобрите този тежък курс, това СЕ оценява с 6+ от мен много хора, има пострадали точно от промените (в това число и Аз).
Все пак немисля, че г-н Муков е подразбрал такива думи от моето мнение. Ако е убиден Аз лично мога да му се извиня, въпреки че думите ми не са ОТПРАВЕНИ КЪМ НЕГО, както ти мислиш.
А за решението, щом ще има различно отнашение към всеки, в което не се съмнявам, съжелявам ЩОМ ще е така, така да е, аз за сега ще съм само потърпевш.
Остани със здраве !
п.с.Ако искаш да ми кажеш нещо МОЛЯ не го прави публично, а лично.
Здравейте, Милослав Средков,
Вие добре Ни успокоявате, но дали наистина ще сте коректни? Вие Ни подвеждате да запишем вашия предмет, вместо нещо друго, ползвайки се от стара слава, а сега Ни предлагате да се отпишем и така да решим проблема? Това ли е Вашето Решение? Всички знаем колко е бил сериозен този курс някога, а сега е за 1 курс. Не се опитвайте да ми казвате, че преувеличавам. Аз бях оценена преди изискванията да излязат в крайния си вариант от Веселин Георгиев, както и други колеги. А сега какво? Аз знам, че програмата ми не отговаря на изискванията, но не съм Ванга да ги знам тези изисквания или че някой после ще ми оплюе решението. Наистина се почувствах обидена - не съм олигофрен, че да не виждам, че задачата ми не отговаря на последните изисквания. Щях ли според Вас да оставя така нещата, ако не бях вече оценена на 100 точки от 100? Милсите ли, че е коректно от ваша страна да не ме оведомите, че решението ми ще подлежи на преразглеждане? Незнам дали в екипа Ви има НЕКАДЪРНИЦИ, но Вие ме изкарвате НЕКАДЪРНИК !!! Вие се подигравате с мен! Не мислите ли, че всеки от Нас, засегнатите, има право да Ви отвърне със същото? Несправедливост за несправедливост! Добре знаете, че никой от НАС-учениците и ВАС-организаторите не е недосегаем. Има инстанции, които седят по-високо. Приели сте да правите нещо, нещо което има история - тогава го правете както трябва. Вършете си работата! Ако не можете, просто си признайте, че не можете! Вие гледате вашия интерес, а Ние - нашия. Не мисля, че е умесно да заплашвате някого - това може да играе срещу Вас!!! От зле става още по зле...Вашата гениална коректност и умения отговарят на обидата с заплаха- УНИКАЛНО ПРОФЕСИОНАЛНО!!!
Ето Ви един професионален съвет - когато нещо не е било равно за всички, ами отменете го. 0 т. на всички и ново домашно. Естесвено, че няма да има доволни при сегашното положение. Вие самият казвате, че към някои сте се отнесли несправедливо. Заличете тази несправедливост както намерите за добре. Но нека всички са доволни. Вие вече си признахте грешката - след като се оправдавате, значи се обвинявате, сега я оправете!
Поздрави, Невена Тачева.
ох тука наистина е като бойно поле- май някои Магдапоклонници (нищо лично) или може би с други бележкарски проблеми си изливат негодованието тук-обаче хора отворете си поне малко очите и разберете,че този университет се крепи най-вече на изборните курсове що се отнася до програмирането(за мое съжаление)- ако от нещо сте недоволно може би причината е съвсем другаде,въпреки че явно 0,5 точки от 100 са доста сериозен и жизненоважен проблем...
P.S. просто не издържах и трябваше да напиша нещо - поздрави на всички НЕНЕКАДЪРНИЦИ!!!
Първо искам да напомня, че ако някой иска да си промени точките - трябва да ми пише email, а не да пише по форумите. Този случай не е такъв.
1 просто констатира сложността. Ще прочетете дали това е добре или зле. Оптимизацията почти не помага т.к. голям процент от естествените числа са прости или имат малък брой делители.
По 2: Аз по принцип не одобрявам този подход с допълнителен масив:
int *arrDecomposition = new int[(int)sqrt((float)nCurrent)+2];
Целта на упражненията е да имплентерате ефективно решение, а не да ни хакнете като извършите неща със същата сложност, но двойно повече операции, или покачвайки сложността с малко (например ако покачите сложността с loglogN може никой да не разбере). но ако отидете да пишете някъде софтуер сериозно - ще ви "набият канчето" дори за това, че извършвате само 30% повече излишни операции.
Друго много важно нещо е, че използваната памет често е много по-ценна отколкто сложността. Добре щеше да бъде използваната памет да е колкото броя на делителите, а не корен от числото.
В заключение моля да обрщате внимание на следното:
for (nLoop = 2; nLoop <= sqrt((float)nCopyOfCurrent); nLoop++)
операцията корен квадратен върху числа с плаваща точка се извършва на всяка итерация от цикъла. Ако извършите това само веднъж можете да се радвате на голямо ускорение.
Аз имам въпрос относно новата домашна. Как да намеря всички прости числа до 987654321, след като не мога да си дефинирам толкова голям масив? (Не знам дали имаме право на помощ, но аз все пак питам ;) )
искам да попитам може ли да се псува във форума, защото някои хора много ме изнервят с тия безмислени недоволства за ПО-МАЛКО ОТ 1 ТОЧКА. Що за хора сте!!!
Здравей, Ясене,
Не е нужно да се ядосваш от неща които пряко нямат никаква връзка с теб. Най-добре пий една студена ВОДА (пази се от грипа, който върлува) и си почивай, че ако се нервиш така немога да си представя какво ще стане по-нататък.
Айде със Здраве !
Емил Атанасов
Здравей, Емиле,
Мисля че пряката връзка е доста явна : ако ядосате хората, които правят курса /те го правят само на добра воля / , те могат да решат че няма смисъл да се занимават с НЕБЛАГОДАРНИЦИ и аз или моите приятели догодина да не учат ПрАнКА. Освен това примерно пробвайте да идете 5 човека при някой професор и да му говорите колко некадърно му е оценяването да видите дали някой от вас ще мине. Най-пряко ме засягат вашите изказвания от гледна точка на това, че дразните моите преподаватели. Относно изнервянето, замисли се ти колко силни приказки изприказва за половин точка и какво ще става нататък.
А за студената вода приятелю, мисля че ти точно това трябваше да направиш, а не да хабиш своите и чужди нерви за нещо толкова незначително
Ами, Приятел, незнам кой се занимава с неблагодарници.Гузен, негонен бяга!
Преподавателите много добре знаят кое е добре и кое не. Виждали са какви ли не изпълнения. Не вярвам да съм впечатлил някой с това че си браня интереса и така нататък.
Аз оценявам толерантноста им и за това ще допринеса колкото мога за да вдигна нивото на курса. Т.е. Ще се постарая да съм положително нещо в цялата схема.
За пранка това дали ще има или няма зависи единствено от Водещите курса. Който сами могад да преценят какво ще стане занапред.
А това колко приказки съм изприказвал, аз съм си предценил (нося си сега последствията) като съм споделил проблема публично.
Обещавам друг път да не правя така, а лично да говора с преподавателите, че много случайни хора почват да си пъхат носът в моите работи, а това е ДРАЗНЕЩО!
мило,драго и по-полека