alexderru
?>

Распишите числа от 4 до 10 в пятеричной системе счисления

Информатика

Ответы

PopovViktorovna
5(10с.с.)=10(5с.с.) 6= 117=128=139=1410=20
ale99791308

решение будет гораздо проще, если заметить, что остаток от деления шестнадцатеричного числа на 5 совпадает с остатком от деления на 5 его суммы цифр.

действительно, доказываем по индукции:

для числа из одной цифры это тривиально: число из одной цифры совпадает со своей суммой цифр. переход: пусть число из k цифр дает такой же остаток при делении на 5, что и сумма цифр + x + y + z. покажем, что число из (k + 1) цифры дает такой же остаток, что и сумма цифр + x + y + z + t: = 16 * + t = 15 * + + t). первое слагаемое делится на 5, второе по предположению дает такой же остаток, что и + x + y + z) + t, что и требовалось.

у любой перестановки сумма цифр такая же, так что и остатки от деления на 5 . так что осталось найти сумму цифр исходного числа и найти остаток от деления её на 5, это и будет ответом.

python 3:

digits = "0123456789abcdef"

n = input()

s = sum(digits.index(digit) for digit in n)

print(s % 5)

donliolik

#include "iostream"

#include "stdlib.h"

#include "locale.h"

#include "time.h"

using namespace std;

void create(int** arr, int n);

void show(int** arr, int n);

void max_quarter(int** arr, int n);

void find_min_max(int** arr, int n, int & pos_max_row, int & pos_min_col);

void change_row_column(int** arr, int n, int & pos_max_row, int & pos_min_col);

int main()

{

srand(time(null));

setlocale(lc_all, "russian");

bool flag = false;

int pos_max_row = 0, pos_min_col = 0;

    int n=0;

int answer = 100;

int **a = 0;

a = (int**)malloc(n*sizeof(int));

if(! a)

{

    int** a = (int**)malloc(n*sizeof(int));  

}

while (answer ! = 0)

{

  system("cls");

  cout < < "меню\n";

  cout < < "1) сформировать массив из случайных чисел размером n.\n";

  cout < < "2) вывести массив на экран сформированный массив.\n";

  cout < < "3) найти максимальный элемент в верхней и нижней четвертях матрицы\n";

  cout < < "4) обмен значениями произвольной строки с произвольным столбцом\n";

  cout < < "0) выход\n";

  cout < < "ваш выбор: ";

  while > > answer)) {     //делаем проверку на ввод букв символов итд  

  cout < < "вы ввели символ или букву. требуется вводить только цифры\nввод: ";

  cin.clear();

  fflush(stdin);

  }

  system("cls");

  switch (answer)

  {

  case 1:

  {  

      cout < < "какого размера будет квадратичная матрица (x*x)? : ";

      while > > n))

        {     //делаем проверку на ввод букв символов итд  

  cout < < "вы ввели символ или букву. требуется вводить только цифры\nввод: ";

  cin.clear();

  fflush(stdin);

      }

        create(a, n);

  cout < < "массив из случайных чисел сформирован! "< < endl; ;

  system("pause");

  break;

  }

  case 2:

  {

  if(n ! = 0){

    cout < < "вывод массива на экран.\n";

    show(a, n);

  }else cout < < "посетите пункт 1" < < endl;

  system("pause");

  break;

  }

  case 3:

  {

  if(n ! = 0){

    flag = true;

    cout < < "нахождение максимального значения элемента в матрице.\n";

    find_min_max(a,n, pos_max_row, pos_min_col);

  }else cout < < "посетите пункт 1" < < endl;

  system("pause");

  break;

  }

  case 4:

  {

  if(flag == true)

  {

    cout < < "обмен значениями произвольной строки с произвольным столбцом.\n";

    change_row_column(a,n, pos_max_row, pos_min_col);

  }else cout < < "посетите пункт 3" < < endl;

  system("pause");

  break;

  }

  system("pause");

  return 0;

  }

}

}

void create(int **arr, int n)

{

for(int i=0; i< n; i++)

{

    arr[i]=(int*)malloc(n*sizeof(int));

    if(! arr[i])

    {

      arr[i]=(int*)malloc(n*sizeof(int));

    }

  for(int j=0; j< n; j++)

  {

  arr[i][j]= -200 + rand()%401;

  }  

}

}

void show(int **arr, int n)

{

for (int i=0; i< n; i++)

{

  for(int j=0; j< n; j++)

  {

  printf("%7d", arr[i][j]);

  }

  printf("\n");

}

}

void find_min_max(int** arr, int n, int & pos_max_row, int & pos_min_col){

int min = arr[0][0];

int max = arr[0][0];

for(int i = 0; i < n; i++){

  for(int j = 0; j < n; j++){

  if(arr[i][j] > max)

  {

    max = arr[i][j];

    pos_max_row = i;

  }

  if(arr[i][j] < min)

  {

    min = arr[i][j];

    pos_min_col = j;

  }  

  }

}

cout < < "минимальное значение массива: " < < min < < endl;

cout < < "максимальное значение массива: " < < max < < endl;

}

void change_row_column(int** arr,int n, int & pos_max_row, int & pos_min_col){

cout < < "массив до преобразования. " < < endl;

show(arr,n);

cout < < "изменяемая cтрока: " < < pos_max_row   < < "\nизменяемый столбец: " < < pos_min_col < < endl;

for(int i = 0; i < n; i++){

  int temp = arr[i][pos_min_col];  

  arr[i][pos_min_col] = arr[pos_max_row][i];

  arr[pos_max_row][i] = temp;

}

cout < < "массив после преобразования. " < < endl;

show(arr,n);

}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Распишите числа от 4 до 10 в пятеричной системе счисления
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

katushak29
Алексей Ксения
nikitavertiev98400
kurmaleeva
Юлия1689
juliavovo
dashkevich-76611
alisapavlushina
Mexx9050
Абумислимовна_кооператив585
Очень Напишите на листке как это должно быть
admiral-kazan
АндреевичОльга641
EkaterinaSEMENOV702
knyazev527
textildlavas21