|
|
вернуться в форумПочему не правильно? #include <iostream> #include <string> #include <stdio.h> #include <cmath> using namespace std; int n,k,col=0; int main() {
cin>>n>>k; int bo=0; int z,z1; z=pow(10.0,(n-1)); z1=pow(10.0,n); for(int i=z;i<z1;++i) { for (int v = i; v; v /= 10) { if (((v%10)>=k) || (((v%10)==0) && ((v%100)==0))) {bo=1; v=0;}; } if (!bo) ++col; bo=0; } cout<<col; return 0; } Re: Почему не правильно? Послано PVD 27 сен 2013 01:46 Насколько я понимаю, основание может быть отличным от 10, то есть с основанием, 2, 3, 4, 5, 6, 7, 8, 9. Из-за этого и запись разная, например число 31(осн. 10) = 11111(осн. 2) = 51(осн. 6) = 24(осн.8) = 1F(осн. 16). Вот такие пироги. |
|
|