Kezdőlap › Fórumok › Programozás › Fejtörő – „csak guruknak”…
- This topic has 120 hozzászólás, 10 résztvevő, and was last updated 18 years telt el by
pointux.
-
SzerzőBejegyzés
-
2007-05-20-08:12 #2104385vizsla wrote:Különben, ha lenne, akkor – szerintem – oda is ítélnék… („pár ezer éve” nem bírják megoldani a problémát… szóval jó eséllyel indulna. :))
De ilyen erővel már megoldhatnánk az ikerprímek kérdését is ^^
2007-05-20-08:12 #2104386vizsla wrote:Különben, ha lenne, akkor – szerintem – oda is ítélnék… („pár ezer éve” nem bírják megoldani a problémát… szóval jó eséllyel indulna. :))De ilyen erővel már megoldhatnánk az ikerprímek kérdését is ^^
2007-05-20-11:57 #2104387vizsla wrote:Na, most ez a megoldás, – ha jól látom – már a két feladatnak a kombinációja…Igen, bár a verziószám feladatot még lehet cifrázni, hogy csomagneveket is lehessen rendezni, ami már felmerült (ize-bize-1.1.3-6.fc6). De van egy horror feladatom, csak nem volt elég bátorságom bedobni.
Tehát Ti, Kedves lovagok, akik éppen megfelelő méltó küzdelem híjján vagytok, íme egy újabb megmérettető feladat:
Feladat: a két korábbi – ha nem is lényegesen különböző – feladat valamelyikére bash metaprogram készítése (programot író program).
2007-05-20-11:57 #2104388vizsla wrote:Na, most ez a megoldás, – ha jól látom – már a két feladatnak a kombinációja…Igen, bár a verziószám feladatot még lehet cifrázni, hogy csomagneveket is lehessen rendezni, ami már felmerült (ize-bize-1.1.3-6.fc6). De van egy horror feladatom, csak nem volt elég bátorságom bedobni.
Tehát Ti, Kedves lovagok, akik éppen megfelelő méltó küzdelem híjján vagytok, íme egy újabb megmérettető feladat:
Feladat: a két korábbi – ha nem is lényegesen különböző – feladat valamelyikére bash metaprogram készítése (programot író program).
2007-05-20-12:08 #2104389Hm. Ilyenekben nem vagyok jártas, de gondolom nem az a megoldás, hogy a fentebb leírt kódo(ka)t bemásolom, hogy azt írja ki egy fájlba 🙂
2007-05-20-12:08 #2104390Hm. Ilyenekben nem vagyok jártas, de gondolom nem az a megoldás, hogy a fentebb leírt kódo(ka)t bemásolom, hogy azt írja ki egy fájlba 🙂
2007-05-20-15:07 #2104391uzsolt wrote:Ha vártok egy kicsit, akkor megcsinálom a „klasszikus” szitás módszerrel is 🙂Code:#!/bin/bashif [ $# -ne 1 ]; then
echo Használat: `basename $0` n
echo Kettőtől n-ig a primszámok
exit 0
fiTMPFILE=`mktemp`
echo x > $TMPFILE
for i in $(seq 2 $1); do
echo o >> $TMPFILE
doneLKKT=1
VAN=1while [ $VAN -gt 0 ]; do
VAN=$(grep -c „o” $TMPFILE)
if [ $VAN -gt 0 ]; then
SORSZAM=$(grep -n „o” $TMPFILE | head -n 1 | awk -F „:” {‘print $1’})
sed -i „$SORSZAM s@o@P@g” $TMPFILE
LKKT=$((LKKT*SORSZAM))
for i in $(seq $((SORSZAM+LKKT)) $LKKT $1); do
sed -i „$i s@o@x@g” $TMPFILE
done
fi
donecat -n $TMPFILE | grep „P” | awk {‘print $1’}
rm $TMPFILEKb. 30%-kal kevesebb a futási idő 🙂
Javaslatom: bash-ban minél gyorsabb prímszámkeresőt írni ;D
2007-05-20-15:07 #2104392uzsolt wrote:Ha vártok egy kicsit, akkor megcsinálom a „klasszikus” szitás módszerrel is 🙂Code:#!/bin/bashif [ $# -ne 1 ]; then
echo Használat: `basename $0` n
echo Kettőtől n-ig a primszámok
exit 0
fiTMPFILE=`mktemp`
echo x > $TMPFILE
for i in $(seq 2 $1); do
echo o >> $TMPFILE
doneLKKT=1
VAN=1while [ $VAN -gt 0 ]; do
VAN=$(grep -c „o” $TMPFILE)
if [ $VAN -gt 0 ]; then
SORSZAM=$(grep -n „o” $TMPFILE | head -n 1 | awk -F „:” {‘print $1’})
sed -i „$SORSZAM s@o@P@g” $TMPFILE
LKKT=$((LKKT*SORSZAM))
for i in $(seq $((SORSZAM+LKKT)) $LKKT $1); do
sed -i „$i s@o@x@g” $TMPFILE
done
fi
donecat -n $TMPFILE | grep „P” | awk {‘print $1’}
rm $TMPFILEKb. 30%-kal kevesebb a futási idő 🙂
Javaslatom: bash-ban minél gyorsabb prímszámkeresőt írni ;D
2007-05-21-12:35 #2104393Wait wrote:Használj bármilyen nyelvet a megoldáshoz, én személy szerint a C-t választottam, mert gyors. Fileba kell írni a prímszámokat egymilliárd, azaz 1 000 000 000-ig.mivel a faladat, nekem, túl egyszerű a „bármilyen nyelv” és a „gyors” -ra koncentráltam, pontosabban c,java,ruby megoldásokat (szita módszer) csináltam. eredmények:
linux-on:
gcc -O3: 32sec
gcj: 1min
java 1.5: 1min 14 secegy másik gépen win-en:
ms visual studio 2005: 51 sec
java 1.6: 1min 20 sec
ruby: 50min2007-05-21-12:35 #2104394Wait wrote:Használj bármilyen nyelvet a megoldáshoz, én személy szerint a C-t választottam, mert gyors. Fileba kell írni a prímszámokat egymilliárd, azaz 1 000 000 000-ig.mivel a faladat, nekem, túl egyszerű a „bármilyen nyelv” és a „gyors” -ra koncentráltam, pontosabban c,java,ruby megoldásokat (szita módszer) csináltam. eredmények:
linux-on:
gcc -O3: 32sec
gcj: 1min
java 1.5: 1min 14 secegy másik gépen win-en:
ms visual studio 2005: 51 sec
java 1.6: 1min 20 sec
ruby: 50min -
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz