Informatică, întrebare adresată de Utilizator anonim, 8 ani în urmă

Care este cifra de pe pozitia K , daca se aseaza unul dupa altul numerele 1, 2, ....
Exemplu:Cifra de pe pozitia 20 este 1 (1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15)
Cifra de pe pozitia 2131 este 6 (ultima cifra din numarul 746)

Răspunsuri la întrebare

Răspuns de chetreanandrei
0

Răspuns:

#include <iostream>

using namespace std;

int rasturnat(int n){

   int rs = 0;

   while (n) {

       rs = rs * 10 + n % 10;

       n /= 10;

   }

   return rs;

}

int main(){

   int a[1000000];

   int k;

   int i = 1;

   int n = 0;

   cout << "k=";

       cin >> k;

   while (n < k*2){

       int nr = rasturnat(i);

       if (i % 10 != 0){

           while (nr){

               a[n] = nr % 10;

               n++;

               nr /= 10;

           }

       } else {

           int m = 0;

           int num = i;

           while (nr){

               a[n] = nr % 10;

               n++;

               nr /= 10;

           }

           while (num % 10 == 0){

               m++;

               num /= 10;

           }

           int f = 0;

           while (f < m){

               a[n] = 0;

               n++;

               f++;

           }

       }  

       i++;

   }

   cout << "Cifra de pe pozitia " << k << " este " << a[k-1] << endl;

   return 0;

}

Explicație:

Alte întrebări interesante