Hódító / Queosia forum
Hódító / Queosia forum
http://queosia.com
http://hodito.hu

Go Back   Hódító / Queosia forum > Hódító / Queosia forum > Általános beszélgetések > PC (hardver, szoftver, játékok stb.)
Register Stats Members List Today's Posts

PC (hardver, szoftver, játékok stb.) Minden, ami számítógép. Kedvenc játékod megbeszélése, segítségkérés hardverügyben stb.

Reply
 
Thread Tools Search this Thread Display Modes
  #81  
Old 02-09-2011, 20:11
Dew's Avatar
Dew Dew is offline
Member
 
Join Date: Oct 2008
Location: Budapest
Posts: 556
Activity: 0%
Longevity: 84%
Default

amúgy ért valaki a C++-hoz?

újra előszedtem, és kicsit elszoktam tőle... (mostanában leginkább Javában írogattam) Meggyűlt a bajom a változó kiíratásokkal... ha jól emlékszem volt valami olyasmi, hogy valami("A kenyér ára: %dFt", kenyerar);
A ShowMessage nem képes, csak egy valamit kiírni, a MessageBox meg csak const char-okat akar bevenni, még string-et sem. (most beolvasom egy stringbe az összes változót, stb-it és azt iratom ki ShowMessage-dzsel, de nem igazán elegáns... )
Reply With Quote
Sponsored Links
  #82  
Old 02-09-2011, 20:29
BimmBimm's Avatar
BimmBimm BimmBimm is offline
Member
 
Join Date: Jan 2007
Location: Hódmezővásárhely
Posts: 1,448
Activity: 0%
Longevity: 94%
Default

Quote:
Originally Posted by Dew View Post
amúgy ért valaki a C++-hoz?

újra előszedtem, és kicsit elszoktam tőle... (mostanában leginkább Javában írogattam) Meggyűlt a bajom a változó kiíratásokkal... ha jól emlékszem volt valami olyasmi, hogy valami("A kenyér ára: %dFt", kenyerar);
A ShowMessage nem képes, csak egy valamit kiírni, a MessageBox meg csak const char-okat akar bevenni, még string-et sem. (most beolvasom egy stringbe az összes változót, stb-it és azt iratom ki ShowMessage-dzsel, de nem igazán elegáns... )
Hát én csak konzolos dolgokat csináltam C++-ban, ott meg elég a cout << valtozo;
Egyébként egy stringből így lehet char*-ot csinálni:
string a = "asdasdasd";
char* b = a.c_str();
asszem...
__________________
Mert ott van az erő, az egyszerű magyarban
Egyenes derékkal, áll minden viharban

BimmBimm (#233333)

Éplista számító
Reply With Quote
  #83  
Old 02-10-2011, 00:11
Dew's Avatar
Dew Dew is offline
Member
 
Join Date: Oct 2008
Location: Budapest
Posts: 556
Activity: 0%
Longevity: 84%
Default

Quote:
Originally Posted by BimmBimm View Post
Hát én csak konzolos dolgokat csináltam C++-ban, ott meg elég a cout << valtozo;
Egyébként egy stringből így lehet char*-ot csinálni:
string a = "asdasdasd";
char* b = a.c_str();
asszem...
nahh majd holnap kipróbálom... Köszi!
Reply With Quote
  #84  
Old 03-30-2011, 22:35
Redback's Avatar
Redback Redback is offline
Member
 
Join Date: Jun 2007
Location: Nyíregyháza
Posts: 2,975
Activity: 1%
Longevity: 92%
Default

Olyan programot kellett volna írni versenyen, hogy bekérsz egy számot, nevezzük N-nek, [2;14] intervallumban, és kiírja egy állományba az összes N számjegyű prímet, melynek számjegyei balról jobbra nem csökkennek. N=10-re kb 10 perc alatt kell lefutnia. Én a közelébe sem értem az 1 percnek. Valaki ha írna egy ilyen programot, Pascalban, C-ben vagy JAVA-ban megköszönném.
__________________
Redológia (#455305) [1/A] [SZK]

Non omnis moriar (#701164) [3/G]
Reply With Quote
  #85  
Old 04-01-2011, 00:30
Redback's Avatar
Redback Redback is offline
Member
 
Join Date: Jun 2007
Location: Nyíregyháza
Posts: 2,975
Activity: 1%
Longevity: 92%
Default

Quote:
Originally Posted by Redback View Post
Olyan programot kellett volna írni versenyen, hogy bekérsz egy számot, nevezzük N-nek, [2;14] intervallumban, és kiírja egy állományba az összes N számjegyű prímet, melynek számjegyei balról jobbra nem csökkennek. N=10-re kb 10 perc alatt kell lefutnia. Én a közelébe sem értem az 1 percnek. Valaki ha írna egy ilyen programot, Pascalban, C-ben vagy JAVA-ban megköszönném.
Most látom, elírtam. N=10-re kb 1 perc alatt kell lefutni. Sikerült megcsinálni, N=11-re 40 mp alatt fut le. Versenyen miért nem jutott így eszembe?!
__________________
Redológia (#455305) [1/A] [SZK]

Non omnis moriar (#701164) [3/G]
Reply With Quote
  #86  
Old 04-02-2011, 12:35
tulip tulip is offline
Member
 
Join Date: Mar 2006
Posts: 142
Activity: 0%
Longevity: 99%
Default

Quote:
Originally Posted by Redback View Post
Most látom, elírtam. N=10-re kb 1 perc alatt kell lefutni. Sikerült megcsinálni, N=11-re 40 mp alatt fut le. Versenyen miért nem jutott így eszembe?!
Azt tanultam, hogy Eratoszthenész szitája a leggyorsabb ismert prímszám kereső algoritmus. Ha igazán gyorsat szeretnék írni N=10-re, akkor 10^10-nek a gyökéig előállítanám Eratoszthenész szitájával a prím számokat, majd az így megtalált prím számokkal osztogatnám végig a kérdéses intervallumokat. Ha többmagos a processzor, akkor természetesen több szálra tenném ezt a második lépést. Szerintem ez bőven belefér 1 percbe 10 jegy esetén.
Reply With Quote
  #87  
Old 04-02-2011, 13:09
Redback's Avatar
Redback Redback is offline
Member
 
Join Date: Jun 2007
Location: Nyíregyháza
Posts: 2,975
Activity: 1%
Longevity: 92%
Default

Quote:
Originally Posted by tulip View Post
Azt tanultam, hogy Eratoszthenész szitája a leggyorsabb ismert prímszám kereső algoritmus. Ha igazán gyorsat szeretnék írni N=10-re, akkor 10^10-nek a gyökéig előállítanám Eratoszthenész szitájával a prím számokat, majd az így megtalált prím számokkal osztogatnám végig a kérdéses intervallumokat. Ha többmagos a processzor, akkor természetesen több szálra tenném ezt a második lépést. Szerintem ez bőven belefér 1 percbe 10 jegy esetén.
a pascalban csak 2^32-en méretű lehet egy tömb, ez 4,2 milliárd. 14 számjegyű szám gyökéig bőven több, mint 4,2 milliárd prímszám van, szerintem.
__________________
Redológia (#455305) [1/A] [SZK]

Non omnis moriar (#701164) [3/G]
Reply With Quote
  #88  
Old 04-02-2011, 13:35
tulip tulip is offline
Member
 
Join Date: Mar 2006
Posts: 142
Activity: 0%
Longevity: 99%
Default

Quote:
Originally Posted by Redback View Post
a pascalban csak 2^32-en méretű lehet egy tömb, ez 4,2 milliárd. 14 számjegyű szám gyökéig bőven több, mint 4,2 milliárd prímszám van, szerintem.
Bocs, csak a 10 jegyűeken gondolkodtam, nem a teljes feladatot, mert csak arra mondtál 1 perces korlátot.

Úgy emlékeztem, hogy pascalban nem is lehetett 2^16-nál nagyobb tömböt definiálni. Helyette megoldható mutatókkal. C++-ban és Java-ban viszont 10 jegyűek gyökéig haladva a számokkal szerintem még belefér, mert az csak 100.000.

A 14 jegyű szám esetén nem gondolkodtam. Ahhoz legfeljebb gyök(10^14)=10 millió adatot kellene a memóriában tárolni. Azt hiszem, ennek inkább már C++-ban esnék neki mutatókkal, az még simán lekezel ennyit.
Reply With Quote
  #89  
Old 04-02-2011, 14:22
Redback's Avatar
Redback Redback is offline
Member
 
Join Date: Jun 2007
Location: Nyíregyháza
Posts: 2,975
Activity: 1%
Longevity: 92%
Default

köszi azért végül sikerült megcsinálnom
__________________
Redológia (#455305) [1/A] [SZK]

Non omnis moriar (#701164) [3/G]
Reply With Quote
  #90  
Old 04-06-2011, 16:43
tulip tulip is offline
Member
 
Join Date: Mar 2006
Posts: 142
Activity: 0%
Longevity: 99%
Default

Quote:
Originally Posted by Redback View Post
köszi azért végül sikerült megcsinálnom
Érdekelne, hogy milyen módszerrel oldottad meg, mert én kipróbáltam azt, amit én javasoltam, de úgy már 10 millióig az összes prímszám megkeresése 5 másodpercig tartott, az pedig csak N=7 eset, szóval pillanatnyilag meg sem tudom közelíteni a feladat szerinti N=10 esetet 1 perc alatt. Nem futtattam, de az eredmények alapján kb. 8 óra lenne a futási ideje.

Kitaláltam egy másik módszert, de az túl bonyolult ahhoz, hogy csak úgy hirtelen összedobjam, és nem is biztos elég gyors.


Most olvastam a Fermat-prímtesztet. Ha csak néhány estre nézzük a Fermat-prímteszttel a számokat, akkor a nem prímek jó eséllyel megbuknak és csak a maradékra kell nézzük meg, hogy valóban prímek-e. Majd kipróbálom valamikor, hogy ez segít-e rajta.

Last edited by tulip; 04-06-2011 at 17:04..
Reply With Quote
Sponsored Links
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 09:35.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Design partly based on Hódító's design by Grafinet Team Kft.

Contents and games copyright (c) 1999-2020 - Queosia, Hódító

Partnerek: Játékok, civ.hu