limi10
20.03.2023 21:14

После выполнения команды присваивания x:=x+y значение переменной x  равно 8, а значение переменной y равно 23. Чему были равны значения переменных x и y до выполнения указанной команды присваивания?​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Лейла0044
06.08.2022 22:04

оператор присваивания :=

оператор ввода read(x1,x2,...,xn) или readln(x1,x2,...,xn)

оператор вывода write(x1,x2,...,xn) или writeln(x1,x2,...,xn)

условный оператор if условие then оператор 1 else оператор 2

оператор варианта case управляющая переменная of

                                     набор значений1: оператор1;

                                     набор значений2: оператор2;

                                     ...

                                     набор значенийn: операторN

                               else

                                    альтернативный оператор

                              end;

оператор цикла с предусловиями while ... do

оператор цикла с постусловием repeat ... until

оператор цикла for ... do

оператор break осуществляет немедленный выход из циклов repeat, while, for.

оператор continue начинает новую итерацию цикла, даже если предыдущая не была завершина.

оператор exit осуществляет выход из подпрограммы.

оператор halt прекращает выполнение программы и возвращает код завершения в операционную систему.

0,0(0 оценок)
Ответ:
Полькаа1642
03.03.2020 09:26

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

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота