В исходном числе 2 четные цифры (4 и 4), значит после выполнения алгоритма в первый раз в конце допишется 2 нуля. Когда мы выполним алгоритм во второй раз, то количество четных чисел увеличится в 2 раза, т.к. мы дважды записывали исходное число. таким образом, ченых чисел станет 4, а следовательно и допишется в конце 4 нуля. Плюс не забываем о тех двух нулях, которые получились после певого выполнения алгоритма. А так как мы дважды переписали это число, то количество нулей стало 4. Складываем: 4 образовалось полсе записи дважды числа и 4 за счет дописывания по количеству четных чисел. Итого: 8
1)
#include <iostream>
using std::cout;
using std::endl;
#include <cstdlib>
using std::rand;
using std::srand;
#include <ctime>
using std::time;
void print(int*);
int main()
{
int a[10];
srand(time(0));
//Заполняем случайными числами от 1 до 10
for(int i = 0; i < 10; i++)
{
a[i] = rand() % 10 + 1;
}
print(a);
//Меняем местами
int temp;
for(int i = 0; i <= 10; i += 2)
{
temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
}
print(a);
return 0;
}
void print(int *a)
{
for(int i = 0; i < 10; i++)
{
cout << a[i] << ' ';
}
cout << endl;
}
2)
#include <iostream>
using std::cout;
using std::endl;
#include <cstdlib>
using std::rand;
using std::srand;
#include <ctime>
using std::time;
void print(int*);
int main()
{
int a[10];
srand(time(0));
//Заполняем случайными числами от 0 до 10
for(int i = 0; i < 10; i++)
{
a[i] = rand() % 11;
}
print(a);
//Находим индекс максимального элемента
int largest = 0;
for(int i = 0; i < 10; i++)
{
if(a[largest] < a[i])
{
largest = i;
}
}
//Меняем местами
int temp = a[0];
a[0] = a[largest];
a[largest] = temp;
print(a);
return 0;
}
void print(int *a)
{
for(int i = 0; i < 10; i++)
{
cout << a[i] << ' ';
}
cout << endl;
}
Прямой счета:
применяем алгоритм в первый раз
14414400
применяем алгоритм во второй раз
14414400144144000000
считаем количество нулей
8
Логический:
В исходном числе 2 четные цифры (4 и 4), значит после выполнения алгоритма в первый раз в конце допишется 2 нуля. Когда мы выполним алгоритм во второй раз, то количество четных чисел увеличится в 2 раза, т.к. мы дважды записывали исходное число. таким образом, ченых чисел станет 4, а следовательно и допишется в конце 4 нуля. Плюс не забываем о тех двух нулях, которые получились после певого выполнения алгоритма. А так как мы дважды переписали это число, то количество нулей стало 4. Складываем: 4 образовалось полсе записи дважды числа и 4 за счет дописывания по количеству четных чисел. Итого: 8