Упражнения на C ++: найдите n-ю цифру числа от 1 до n

Математика C ++: Упражнение 15 с решением

Напишите программу на C ++, чтобы найти n-ю цифру числа от 1 до n.

Бесконечная последовательность целых чисел: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 .. где n — положительное целое число.
Ввод: 7
Выход: 7
Ввод: 12
Выход: 1
12-я цифра последовательности 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, … равно 1, что является частью числа 11.

Пример решения :

Код C ++:

  #include  #include  using namespace std;  int find_Nth_Digit (целое число) {int digit_length = 1;  while (n> digit_length * 9 * pow (10, digit_length - 1)) {n - = digit_length * 9 * pow (10, digit_length - 1);  ++ digit_length;  } const int num = pow (10, digit_length - 1) + (n - 1)/digit_length;  int result = num/pow (10, (digit_length - 1) - (n - 1)% digit_length);  результат% = 10;  вернуть результат;  } int main () {int n = 7;  cout  

Пример вывода:

 7-я цифра бесконечной целочисленной последовательности равна 7 13-я цифра бесконечной целочисленной последовательности равна 1 

Блок-схема:

Редактор кода C ++:

Оцените статью
nanomode.ru
Добавить комментарий