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