Fejtörő – „csak guruknak”…

Kezdőlap Fórumok Programozás Fejtörő – „csak guruknak”…

10 bejegyzés megtekintése - 81-90 / 121
  • Szerző
    Bejegyzés
  • #2104385
    xcut
    Felhasználó
      vizsla 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 ^^

      #2104386
      xcut
      Felhasználó
        vizsla 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 ^^

        #2104387
        gabaman
        Felhasználó
          vizsla 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).

          #2104388
          gabaman
          Felhasználó
            vizsla 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).

            #2104389
            uzsolt
            Felhasználó

              Hm. 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 🙂

              #2104390
              uzsolt
              Felhasználó

                Hm. 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 🙂

                #2104391
                uzsolt
                Felhasználó
                  uzsolt wrote:
                  Ha vártok egy kicsit, akkor megcsinálom a „klasszikus” szitás módszerrel is 🙂

                  Code:
                  #!/bin/bash

                  if [ $# -ne 1 ]; then
                  echo Használat: `basename $0` n
                  echo Kettőtől n-ig a primszámok
                  exit 0
                  fi

                  TMPFILE=`mktemp`
                  echo x > $TMPFILE
                  for i in $(seq 2 $1); do
                  echo o >> $TMPFILE
                  done

                  LKKT=1
                  VAN=1

                  while [ $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
                  done

                  cat -n $TMPFILE | grep „P” | awk {‘print $1’}
                  rm $TMPFILE

                  Kb. 30%-kal kevesebb a futási idő 🙂

                  Javaslatom: bash-ban minél gyorsabb prímszámkeresőt írni ;D

                  #2104392
                  uzsolt
                  Felhasználó
                    uzsolt wrote:
                    Ha vártok egy kicsit, akkor megcsinálom a „klasszikus” szitás módszerrel is 🙂

                    Code:
                    #!/bin/bash

                    if [ $# -ne 1 ]; then
                    echo Használat: `basename $0` n
                    echo Kettőtől n-ig a primszámok
                    exit 0
                    fi

                    TMPFILE=`mktemp`
                    echo x > $TMPFILE
                    for i in $(seq 2 $1); do
                    echo o >> $TMPFILE
                    done

                    LKKT=1
                    VAN=1

                    while [ $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
                    done

                    cat -n $TMPFILE | grep „P” | awk {‘print $1’}
                    rm $TMPFILE

                    Kb. 30%-kal kevesebb a futási idő 🙂

                    Javaslatom: bash-ban minél gyorsabb prímszámkeresőt írni ;D

                    #2104393
                    ds
                    Felhasználó
                      Wait 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 sec

                      egy másik gépen win-en:
                      ms visual studio 2005: 51 sec
                      java 1.6: 1min 20 sec
                      ruby: 50min

                      #2104394
                      ds
                      Felhasználó
                        Wait 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 sec

                        egy másik gépen win-en:
                        ms visual studio 2005: 51 sec
                        java 1.6: 1min 20 sec
                        ruby: 50min

                      10 bejegyzés megtekintése - 81-90 / 121
                      • Be kell jelentkezni a hozzászóláshoz.