В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История

Задание по информатике.
Нужно разгадать алгоритм увеличения числа 4;25;168...​

Показать ответ
Ответ:
Eva5768
Eva5768
06.10.2021 07:48

#include <iostream>

#include <string>

using namespace std;

int main()

{

   string res[10000];

int index = 0;

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

{

 string str = to_string(i);

 int strLen = str.length();

 if(strLen < 4)

 {

  for(int i = 0; i < 4 - strLen; i++)

  {

   str = "0" + str;

  }

 }

 char digit = 'a';

 bool flag = false;

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

 {

  for(int j = i + 1; j < 4; j++)

  {

   if(str[i] == str[j])

   {

    if(digit != 'a')

    {

     flag = true;

     break;

    }

    digit = str[i];

   }

  }

  if(flag)

   break;

 }

 if(!flag && digit != 'a')

 {

  res[index] = str;

  index++;

 }

}

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

{

 cout << res[i] << endl;

}

}

Объяснение:

Метод решения: создаем массив, в который будем записывать найденные номера, заведем переменную index, которая нам добавлять новые значения. Затем запускаем цикл от 0 до 10000(чтобы пройтись по всем номерам). Т.к. номера четырехзначные, то нам нужно будет увеличить 0, до 0000, для этого создаем условие, которое проверяет, количество символов, если оно меньше четырех, то дописывает перед текущем номером нули, то есть, если текущий номер 11, получится 0011. Если номер 237, то получится 0237.

Затем создаем переменную digit, которая покажет, была ли найдена пара одинаковых чисел, также создадим flag, который выйти из двойного цикла.

Создаем двойной цикл, который проходит по всем элементам текущего номера и проверяет, сколько раз они встретились. В цикле проверяем равенство текущих символов, если они совпали и если digit уже не является "а", то значит, что либо данное число встретилось третий раз в номере, либо в данном числе есть другая пара одинаковых чисел, поэтому мы присваиваем flag значение true и завершаем вложенный цикл, если же текущая пара встретилась первый раз, то заменяем переменную digit на найденный символ.

После прохождения вложенных циклов мы проверяем, завершили ли мы предыдущие вложенные циклы до через переменную flag), а также изменился ли digit, если все хорошо, то присваиваем элементу массива под индексом index значение текущей строки и увеличиваем index на 1. После прохождения всего большого цикла выводим массив.

0,0(0 оценок)
Ответ:
Дашенька66778
Дашенька66778
13.01.2020 02:44

import math

n = list()

print('Введите первое число: ', end='')

n.append(float(input()))

print('\nВведите второе число: ', end='')

n.append(float(input()))

print('\nВведите третье число: ', end='')

print('\n')

n.append(float(input()))

n.sort(reverse = True)

if (n[0] >= (n[1] + n[2])):

print('Треугольник не существует', end='')

else:

if(n[0] == n[1] == n[2]):

print('Треугольник равносторонний', end='')

elif(n[0] == n[1] or n[0] == n[2] or n[1] == n[2]):

print('Треугольник равнобедренный', end='')

else:

print('Треугольник разносторонний', end='')

if(round(n[0]**2, 6) == round((n[1]**2 + n[2]**2), 6)):

print('и прямоугольный')

print(n)

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