c++
#include <iostream>
using namespace std;
int main()
{
unsigned long long int max_numer;
cin >> max_numer;
long long digit_arr[10] = {};
for (int i = 1; i <= max_numer; i++)
{
int j = i;
while (j > 0)
{
digit_arr[j % 10]++;
j /= 10;
}
}
for (int i = 0; i < 10; i++)
{
cout << digit_arr[i] << " ";
}
}
Объяснение:
Работает на посылках до 100000. Дальше идёт интересная закономерность по которой изменяется.
unsigned long long int digit_arr[10] = {};
int z = max_numer / 100000;
if (z == 1)
{
digit_arr[0] += 38894;
digit_arr[1] += 50001;
digit_arr[2] += 50000;
digit_arr[3] += 50000;
digit_arr[4] += 50000;
digit_arr[5] += 50000;
digit_arr[6] += 50000;
digit_arr[7] += 50000;
digit_arr[8] += 50000;
digit_arr[9] += 50000;
}
if (z == 2)
{
digit_arr[0] += 88894;
digit_arr[1] += 200000;
digit_arr[2] += 100001;
digit_arr[3] += 100000;
digit_arr[4] += 100000;
digit_arr[5] += 100000;
digit_arr[6] += 100000;
digit_arr[7] += 100000;
digit_arr[8] += 100000;
digit_arr[9] += 100000;
}
if (z == 3)
{
digit_arr[0] += 138894;
digit_arr[1] += 250000;
digit_arr[2] += 250000;
digit_arr[3] += 150001;
digit_arr[4] += 150000;
digit_arr[5] += 150000;
digit_arr[6] += 150000;
digit_arr[7] += 150000;
digit_arr[8] += 150000;
digit_arr[9] += 150000;
}
if (z == 4)
{
digit_arr[0] += 188894;
digit_arr[1] += 300000;
digit_arr[2] += 300000;
digit_arr[3] += 300000;
digit_arr[4] += 200001;
digit_arr[5] += 200000;
digit_arr[6] += 200000;
digit_arr[7] += 200000;
digit_arr[8] += 200000;
digit_arr[9] += 200000;
}
if (z == 5)
{
digit_arr[0] += 238894;
digit_arr[1] += 350000;
digit_arr[2] += 350000;
digit_arr[3] += 350000;
digit_arr[4] += 350000;
digit_arr[5] += 250001;
digit_arr[6] += 250000;
digit_arr[7] += 250000;
digit_arr[8] += 250000;
digit_arr[9] += 250000;
}
if (z == 6)
{
digit_arr[0] += 288894;
digit_arr[1] += 400000;
digit_arr[2] += 400000;
digit_arr[3] += 400000;
digit_arr[4] += 400000;
digit_arr[5] += 400000;
digit_arr[6] += 300001;
digit_arr[7] += 300000;
digit_arr[8] += 300000;
digit_arr[9] += 300000;
}
if (z == 7)
{
digit_arr[0] += 338894;
digit_arr[1] += 450000;
digit_arr[2] += 450000;
digit_arr[3] += 450000;
digit_arr[4] += 450000;
digit_arr[5] += 450000;
digit_arr[6] += 450000;
digit_arr[7] += 350001;
digit_arr[8] += 350000;
digit_arr[9] += 350000;
}
if (z == 8)
{
digit_arr[0] += 388894;
digit_arr[1] += 500000;
digit_arr[2] += 500000;
digit_arr[3] += 500000;
digit_arr[4] += 500000;
digit_arr[5] += 500000;
digit_arr[6] += 500000;
digit_arr[7] += 500000;
digit_arr[8] += 400001;
digit_arr[9] += 400000;
}
if (z == 9)
{
digit_arr[0] += 438894;
digit_arr[1] += 550000;
digit_arr[2] += 550000;
digit_arr[3] += 550000;
digit_arr[4] += 550000;
digit_arr[5] += 550000;
digit_arr[6] += 550000;
digit_arr[7] += 550000;
digit_arr[8] += 550000;
digit_arr[9] += 450001;
}
Я попробовал сделать костыль, но там этих костылей до скончания веков писать. Проще сделать алгоритм автоматически рассчитывающий по заметной закономерности, который вычисляет количество цифр max_numer / 100000, и к нему добавить алгоритм, который вычисляет количество цифр в max_numer % 100000
АНКЕТА «БОБРА»
Предмет
Конкурс по информатике и информационным технологиям
Статус
Международный. Признан мировым сообществом в качестве единого конкурса по информатике для всех стран. Основан на согласованном списке избранных задач, предложенных странами-участниками (http://bebras.org/). Проводится более чем в 60 странах
Время проведения
09 - 22 ноября 2020 г.
Форма
Очный, с электронной поддержкой
Необходимые условия для проведения
Наличие компьютерного класса с выходом в Интернет. Для школьников, имеющих переносные компьютеры (планшеты) с выходом в Интернет, конкурс может быть проведен в обычном классе
Заявки на участие
Заявки принимаются от школьных организаторов, которые отвечают за выполнение правил организации конкурса
Регламент
Время на решение задач — 40 минут (+5 минут на заполнение анкеты), время отсчитывается с момента нажатия кнопки «Начать решение задач»
Задачи и
Предлагается 15 задач трех уровней сложности: на 6, 9 и соответственно (для учеников 1-2 классов задач 12). За неправильный ответ участник получает штраф в размере 1/3 от задачи, который вычитается из общей суммы . При отсутствии ответа на задачу штраф не начисляется (выгоднее пропустить задачу, чем решить её неправильно).
Объяснение:
сойдёт?
Нарисовать не могу по этому вот поэтапная инструкция:
1. Откройте программу Scratch и создайте новый проект.
2. В меню "Спрайты" нажмите кнопку "Новый спрайт".
3. Изобразите на спрайте шестиугольник с инструментов рисования Scratch. Для этого выберите инструмент "Перо" и нарисуйте шестиугольник, используя линии и углы.
4. Чтобы сделать стороны шестиугольника равными, можно использовать инструмент "Линейка", который позволяет точно измерить длину каждой стороны.