Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » 1. Sonntagsrätsel

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ]
010
15.07.2002, 21:08 Uhr
Bruder Leif
dances with systems
(Operator)


Nochmal PS: Da stimmt noch was nicht mit der Code-Formatierung... *schrägguck*
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
15.07.2002, 23:12 Uhr
~NemoEimi
Gast


[
Die Aufgabe:
[i]
a) Entwickel einen Algorithmus, der folgende Zahlenwurm fortsetzt:
1. Generation: 1
2. Generation: 11
3. Generation: 21
4. Generation: 1211
5. Generation: 111221
6. Generation: 312211
b) Aus wie vielen Ziffern besteht der Zahlenwurm in der 15 und 27 Generation?

Hier ist mal ein kleines Programm, das die Länge der Zahlenwürmer bis zur jeweils eingegebenen Generation ausgibt:


C++:
#include<iostream.h>
#include<vector>
#include<stdio.h>
#include<cstdlib>

int main(int argc, char *argv[]) {
   vector<int> zahl, w;
   int n = atoi(argv[1]);
   zahl.push_back(1);
   for (int i = 1; i<n; i++) {
     w.resize(0); int counter = 1; int jetzige_ziffer = zahl[0];
     for (int j = 1; j < zahl.size(); j++) {
       if (zahl[j]==jetzige_ziffer)
         counter = counter + 1;
        else
         {w.push_back(counter); w.push_back(jetzige_ziffer); counter = 1; jetzige_ziffer = zahl[j];}
       }
     w.push_back(counter); w.push_back(jetzige_ziffer);
     zahl.resize(0);
     for (int j = 0; j < w.size(); j++) {
       zahl.push_back(w[j]);
       }
     cout << zahl.size() << " ";
   }
   return(0);
}


Grüße,
NemoEimi

Dieser Post wurde am 16.07.2002 um 17:40 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
15.07.2002, 23:18 Uhr
virtual
Sexiest Bit alive
(Operator)



Zitat:
Wie schreib ich eigentlich eckige Klammern im ThWboard-Code? Merkt's der, wenn ein ungültiges Tag kommt?

Vermeide b's und i's als indizes. Irgendwie meint er, um Source was auf italic font setzen zu müssen.


C++:
if(szArtnr[j] < '0' || szArtnr[j] > '9')


Würde ich ersetzen durch

C++:
if(!isdigit(szArtnr[j]))


(Hey - is ja schon kürzer als das Original! )
Begründung: isdigit is potentiell schneller als der Vergleich, weil es einfach nur einen Arrayzugriff darstellt. Im ungünstigsten Fall is isdigit als vergleich wie bei dir implemtiert - dann hast du nix verloren.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
16.07.2002, 10:22 Uhr
virtual
Sexiest Bit alive
(Operator)


@NemoEimi
Chic! - Ja, ist schon mal ein möglicher Lösungsansatz. Leider tuts das Programm nicht für die erste Generation.
Siehst du Möglichkeiten, es schneller zu machen?
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
16.07.2002, 11:41 Uhr
Bruder Leif
dances with systems
(Operator)



Zitat:

(Hey - is ja schon kürzer als das Original! :D)
Begründung: isdigit is potentiell schneller als der Vergleich, weil es einfach nur einen Arrayzugriff darstellt. Im ungünstigsten Fall is isdigit als vergleich wie bei dir implemtiert - dann hast du nix verloren.



isdigit - das hab ich gesucht! *g* Hatte so was in Erinnerung, aber in der MSDN bin ich nur auf .NET-Versionen gestoßen... hatte keine Lust, groß rumzusuchen, da ist der Doppelvergleich schneller codiert ;-)

Und dann muß ich mir was einfallen lassen... die erste Schleifenvariable heißt bei mir immer i... hmmmmm..... *kopfkratz*

Tschöööööööööö

Leifus
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
16.07.2002, 14:38 Uhr
Christian
C/C++ Master
(Operator)


Hi virtual!

Kann es sein, dass der Wurm an der 15 Generation 78 Zeichen und an der 27 2012 Zeichen hat???

Grüße
--
Grüße, Christian
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
16.07.2002, 14:51 Uhr
virtual
Sexiest Bit alive
(Operator)



Zitat:
Christian postete
Hi virtual!

Kann es sein, dass der Wurm an der 15 Generation 78 Zeichen und an der 27 2012 Zeichen hat???

Grüße


Ich hab die Zahlen nicht genau im Kopf, könnte aber hinhauen.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
16.07.2002, 17:40 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat:
Leif postete
Nochmal PS: Da stimmt noch was nicht mit der Code-Formatierung... *schrägguck*


Du musst "cpp" nicht "code" benutzen
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
16.07.2002, 17:43 Uhr
virtual
Sexiest Bit alive
(Operator)



Zitat:
FloSoft postete
Du musst "cpp" nicht "code" benutzen

Ich befürtche das Bringt nix. Schreib mal beim Ausdruck "a[k]" ein i an Stelle von k:

Code:
// code tag
a[i] = 1234



C++:
// cpp tag
a[i] = 1234


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)

Dieser Post wurde am 16.07.2002 um 17:43 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
16.07.2002, 18:44 Uhr
Bruder Leif
dances with systems
(Operator)


Moin!


Zitat:
virtual postete
Ich befürtche das Bringt nix. Schreib mal beim Ausdruck "a[k]" ein i an Stelle von k:




*zustimm* ich HABE "cpp" benutzt... hat nur nix gebracht ;-) Müßte doch klappen, im "cpp"-Bereich nur den "/cpp"-Tag zu bearbeiten und den Rest stehenzulassen, oder?


Tschöööööööö

Leifus
--
Mit 40 Fieber sitzt man nicht mehr vor dem PC.
Man liegt im Bett.
Mit dem Notebook.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ]     [ Rätselecke ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: