М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
dzharullaev2015
dzharullaev2015
06.09.2020 23:05 •  Информатика

На доске написано число 1. за один ход его можно умножить на 7 или добавить к нему единицу. за какое минимальное количество ходов можно получить число 100019?

👇
Ответ:
sashacom13
sashacom13
06.09.2020
Идем от обратного, Нужно получить из 100019 операциями -1 и /7 число 1.
1,2,3) Целочисленно 100019 на 7 не делится. ближайшее число, делимое на 7 это 100016 ( целочисленно делим 100019/7 = 14288, 14288*7=100016). Для этого нужно сделать трижды операцию -1
100019-1-1-1=100016
4) 100016/7 = 14288.
5) 14288 опять не делится. Ближайшее число 14287.
14288-1=14287
6) 14287/7=2041
7,8,9,10) 2041-1-1-1-1=2037
11) 2037/7=291
12,13,14,15) 291-1-1-1-1=287
16) 287/7=41
17,18,19,20,21,22) 41-1-1-1-1-1-1=35
23) 35/7=5
24,25,26,27) 5-1-1-1-1=1

Итого я насчитал 27 ходов.
4,8(50 оценок)
Открыть все ответы
Ответ:
almiradkzbd
almiradkzbd
06.09.2020
Решение №1 (без массивов)

var a,n,i,j,s:integer;
begin
  writeln('Введите количество цифр в числе');
  readln(n);
  for i:=1 to n do begin
    writeln('Введите ',i,' цифру из ',n);
    readln(a);
    for j:=1 to n-i do a:=a*10;
    s:=s+a;
  end;
  writeln('Натуральное число: ',s);
end.

Тестовое решение

Введите количество цифр в числе
5
Введите 1 цифру из 5
9
Введите 2 цифру из 5
2
Введите 3 цифру из 5
7
Введите 4 цифру из 5
3
Введите 5 цифру из 5
1
Натуральное число: 92731

Решение №2 Если очень надо использовать массив (хотя на мой взгляд совсем не нужно)

//PascalABC.NET (версия 3.1, сборка 1198)
var a,n,i,j,s:integer;
mas:array[1..10]of integer;
begin
  writeln('Введите количество цифр в числе');
  readln(n);
  for i:=1 to n do begin
    writeln('Введите ',i,' цифру из ',n);
    readln(mas[i]);
    a:=mas[i];  
    for j:=1 to n-i do a:=a*10;
    s:=s+a;
  end;
  writeln('Натуральное число: ',s);
end.

Тестовое решение

Введите количество цифр в числе
5
Введите 1 цифру из 5
5
Введите 2 цифру из 5
4
Введите 3 цифру из 5
3
Введите 4 цифру из 5
2
Введите 5 цифру из 5
2
Натуральное число: 54322
4,7(95 оценок)
Ответ:
vbbbbb
vbbbbb
06.09.2020
#include <iostream>
#include <conio.h>
#include <time.h>
using namespace std;

void main()
{
 srand(time(NULL));
 setlocale(0, "");
 int arr[17];
 int a, b, chet=0, nechet = 0;
cout << "Введите диапазон ." << endl << "Нижняя граница диапазона: "; cin >> a; cout << "Верхняя граница диапазона: "; cin >> b; cout << endl;
for (int i = 0; i < 17; ++i)
{
  arr[i] = a + rand() % (b-a+1);
  cout <<" "<<arr[i];
}
for (int i = 0; i < 17; ++i)
{
  if (arr[i] % 2 == 0) chet++;
 else nechet++;
} if (chet > nechet)
 cout << " \n Четных больше";
else if (nechet>chet)
 cout << "\n Нечетных больше";
else cout << "\n Одинаковое количество четных и нечетных";
 _getch();
}
4,7(37 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ