Найти точное кол-во страниц невозможно. Можно только определить диапазон значений, в котором оно находится: 1 цифра - от 1 до 9, 3 цифры - от 100 до 999 и т. д.
Математически: от 10 ** (n - 1) до 10 ** n - 1 включительно. Где ** - возведение в степень.
Если же n - общее кол-во цифр на всех страницах, то для первых 9 страниц понадобится 9 цифр, для следующих 100 страниц - 200 цифр, для следующих 1000 страниц - 3000 цифр и т. д.
Прибавляем 1 к n и получаем ряд 10, 200, 3000, 40000, 500000, 6000000, 70000000, 800000000
readln(n); inc(n); mul := 100000000; coun := -1; for i := 8 downto 1 do begin tmp := n div (mul * i); n := n mod (mul * i); mul := mul div 10; inc(count, tmp * mul) end; inc(count, n); writeln(count)
Математически: от 10 ** (n - 1) до 10 ** n - 1 включительно. Где ** - возведение в степень.
Если же n - общее кол-во цифр на всех страницах, то для первых 9 страниц понадобится 9 цифр, для следующих 100 страниц - 200 цифр, для следующих 1000 страниц - 3000 цифр и т. д.
Прибавляем 1 к n и получаем ряд 10, 200, 3000, 40000, 500000, 6000000, 70000000, 800000000
readln(n);
inc(n);
mul := 100000000;
coun := -1;
for i := 8 downto 1 do begin
tmp := n div (mul * i);
n := n mod (mul * i);
mul := mul div 10;
inc(count, tmp * mul)
end;
inc(count, n);
writeln(count)
то оставшиеся 100 - 71 = 29% - приходятся на красные.
Так как красных карандашей 58, то:
58 * 100 : 29 = 200 (шт.) - карандашей всего
48 * 200 : 100 = 96 (шт.) - синих карандашей
23 * 200 : 100 = 46 (шт.) - зеленых карандашей
Или так:
Общее количество карандашей - х.
Тогда синих карандашей: 0,48х,
зеленых карандашей: 0,23х.
0,48х + 0,23х + 58 = х
58 = х - 0,71х
58 = 0,29х
х = 200 (шт.) - всего карандашей
0,48х = 0,48*200 = 96 (шт.) - синих
0,23х = 0,23*200 = 46 (шт.) - зеленых
ответ: 96 синих и 46 зеленых карандашей.