/* * Programmieren fuer Physiker, WS 2009/10 * * Klausur, Aufg. 6 */ #include using namespace std ; // convert n to base 3, digits of number are // returned in the array "digs", return value is the number of digits // least-significant-digit is in index 0 int convert_base3( int digs[], int n) { int nrdigits = 0 ; do { digs[nrdigits] = n%3 ; nrdigits++ ; n /= 3 ; } while (n>0) ; for (int i=nrdigits-1; i>=0; --i) cout << digs[i] ; cout << " in Basis drei" << endl ; return nrdigits ; } // check whether array "digs" is palindrom in range 0..(nrdigits-1) bool test_palindrom( int digs[], int nrdigits) { for (int i=0; i> n ; nrdigs = convert_base3( digs, n) ; if (test_palindrom( digs, nrdigs)) cout << "ist Palindrom" << endl ; else cout << "kein Palindrom" << endl ; }