#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int testy;
cin>>testy;
int cyfry, podstawa;
for (int i=0; i<testy; i++)
{
cout<<setprecision(50);
double wynik=1;
cin>>cyfry>>podstawa;
if (cyfry == 1)
{
cout<<podstawa<<endl;
continue;
}
for(int j=0; j<cyfry-1; j++)
{
wynik*=podstawa;
}
cout<<wynik*(podstawa-1)<<endl;
}
return 0;
}
Pytanie: Ile jest k-cyfrowych liczb naturalnych w systemie o podstawie n? http://pl.spoj.com/problems/FR_01_M1/
Było już podobne pytanie, ale nie mogę doszukać się w swoim kodzie błędu. Program w skrócie sprawdza czy liczba jest jedno cyfrowa, jeśli tak to wyświetla podstawę i przechodzi do kolejnej iteracji, jeśli nie to mnoży wynik przez podstawę 'cyfry-1' krotnie a następnie mnoży wynik przez 'podstawa-1', ponieważ liczba np. 4 cyfrowa musi zaczynać się od jedynki a nie od zera, żeby była 4 cyfrowa. Czy mógłby ktoś chociaż podać jakieś liczby do testowania, żebym mógł znaleźć błąd?