Школы

Для нумерации страниц использовали 2053 цифры. Сколько страниц в книге?. Помогите поЖалуйста не могу решить задачу.

.Помогите поЖалуйста не могу решить задачу.
Nina Ivanov
Nina Ivanov
205
Задача некорректно сформулирована и не такая простая, как кажется на первый взгляд.

Примем следующие допущения:
1. Система счисления - десятичная, т. е. 1 цифра может принимать значение от 0 до 9
2. Первая страница, после обложки - имеет номер 1
3. Цифры могут повторяться (т. е. использоваться повторно) .
4. Нумерация последовательна.

И вот какая закавыка,
чтобы пронумеровать 769 страниц мы используем (с 1 до 769, включительно) :

Цифра 0 - 146 раз
Цифра 1,2,3,4,5,6 - 257 раз
Цифра 8, 9 - 147 раз

В сумме - это 2052 цифры.
Но, страница 770 - использует (к имеющимся использованиям цифр) +2 раза - цифру "7" и +1 раз - цифру "0", что составит 2055 в использовании цифр

Ответ. При данных условиях - задача решения не имеет (либо автор задачи предположил, что нумерация страниц начинается с числа 0, чего в книгах не бывает) .

int SumNums(AnsiString s, int *pNum);
void __fastcall TForm1::FormCreate(TObject *Sender)
{
int nums[10]={0};
int z;
int end = 2053;
int prev;
AnsiString s;
for (int i = 1; i<9999999999; i++)
{
s = AnsiString(i);
prev = z;
z = SumNums(s, nums);
if(z >= end)
{
ShowMessage("Страниц "+AnsiString(i)+ ", цифры использованы раз "+AnsiString(z));
break;
}
}
}
int SumNums(AnsiString s, int *pNum)
{
int i;
int L;
int z;
int sum=0;
L = s.Length();

for(i = 1; i <= L; i++)
{
z = s-'0';
pNum[z]++;
}

for(i=0; i<9; i++)
sum += pNum;

return sum;
}
Алена Кучереску
Алена Кучереску
18 118
Лучший ответ