Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- unsigned toString(unsigned n, unsigned p, char* code);
- bool isPalindrom(char* s, unsigned k);
- int main()
- {
- unsigned m, n, p; // zakres liczb m..n; p: podstawa zapisu
- unsigned k; // liczba cyfr w zapisie przy podstawie p
- char code[33] = { 0 };// Co najwyżej 32 cyfry rozwinięcia unsigned
- setlocale(LC_ALL, "pl-PL.UTF8");
- cout << "Program sprawdza, które liczby całkowite > 0 z zakresu m..n \n";
- cout << "są w zapisie przy podstawie p palindromami. \n";
- cout << "Liczby na wejściu podawane są w zapisie dziesiętnym. \n";
- cout << "m, n <= 0 --> koniec programu.\n";
- cout << "Uwaga: podstawa p musi być ze zbioru {2 .. 36}. \n";
- while (true) { // Konwersacja
- cout << "\nzakres m..n i podstawa p: m n p = ";
- cin >> m >> n >> p;
- if (m <= 0 || n <= 0) break;
- for (unsigned i = m; i <= n; ++i) {
- k = toString(i, p, code);
- if (isPalindrom(code, k))
- cout << i << " = " << code << endl;
- }
- }
- cout << "\nKoniec programu\n";
- }
- // Zwraca true jeśli liczba k-cyfrowa w s jest palindromem.
- bool isPalindrom(char* s, unsigned k)
- {
- }
- // Konwersja liczby dodatniej n na postać znakową
- // w zapisie przy podstawie p do tablicy code.
- // Funkcja zwraca liczbę znaków rozwinięcia przy podstawie p.
- // Uwaga: w zależności od p: cyfry ze zbioru {0..9, A..Z}.
- unsigned toString(unsigned n, unsigned p, char* code)
- {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement