Елена Ирина
?>

Решить c++ розбиття на групи степан виписує на листочку усі цілі числа від 1 до n в кілька груп, при цьому якщо одне число ділиться на інше, то вони обов'язково будуть у різних групах. наприклад, якщо n = 9, то отримаємо 4 групи: перша група: 1. друга група: 2 3 7. третя група: 4 5 6. четверта група: 8 9. очевидно, що оскільки, будь-яке число ділиться на 1, то одна група завжди буде складатись тільки з числа 1, а от інші групи можуть бути створені різними способами. іть степану, напишіть програму, яка визначає мінімальне число груп, на яке можна розбити усі числа від 1 до n у відповідності до наведеної вище умови. формат вхідних даних: перший рядок вхідних даних містить єдине число n (1 ≤ n ≤ 109 формат вихідних даних: виведіть одне число - шнайдену мінімальну кількість груп. examples input 9 output 4

Информатика

Ответы

verkop9

например, ввод дополнительной переменной output, которая равна true, если вывод числа (чисел) не был осуществлён и необходимо вывести "123", иначе (если вывод уже был) - false

Объяснение:

int main()

{

setlocale(LC_ALL, "Rus");

double a, b, c, l, k;

bool output = true;

cout << "Введите l: ";

cin >> l;

cout << "Введите k: ";

cin >> k;

a = (l - 2 * k) / l;

b = (l + k) / 5;

c = l * k - 3.5;

if (a >= -5 && a <= 8)

{

cout << "a = " << a << endl;

output = false;

}

if (b >= -5 && b <= 8)

{

cout << "b = " << b << endl;

output = false;

}

if (c >= -5 && c <= 8)

{

cout << "c = " << c << endl;

output = false;

}

if (output)

{

cout << "123" << endl;

}

}

samsludmila

сразу говорю, это неполное решение и за него дают не 100 а лишь да мало, но лучше чем ничего, на крайний случай если так и не найдешь толковое решение

from queue import PriorityQueue

d = {k: x for k, x in enumerate(map(int, input().split())) if x != 0}

q = PriorityQueue()

for x, k in d.items():

   q.put((-k, x))

res = []

p_k, p_x = q.get()

res.append(p_x)

while q.qsize() != 0:

   k, x = q.get()

   res.append(x)

   if p_k < -1:

       q.put((p_k + 1, p_x))

   p_k, p_x = (k, x)

print(*res[::-1], sep='')

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

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

Решить c++ розбиття на групи степан виписує на листочку усі цілі числа від 1 до n в кілька груп, при цьому якщо одне число ділиться на інше, то вони обов'язково будуть у різних групах. наприклад, якщо n = 9, то отримаємо 4 групи: перша група: 1. друга група: 2 3 7. третя група: 4 5 6. четверта група: 8 9. очевидно, що оскільки, будь-яке число ділиться на 1, то одна група завжди буде складатись тільки з числа 1, а от інші групи можуть бути створені різними способами. іть степану, напишіть програму, яка визначає мінімальне число груп, на яке можна розбити усі числа від 1 до n у відповідності до наведеної вище умови. формат вхідних даних: перший рядок вхідних даних містить єдине число n (1 ≤ n ≤ 109 формат вихідних даних: виведіть одне число - шнайдену мінімальну кількість груп. examples input 9 output 4
Ваше имя (никнейм)*
Email*
Комментарий*

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

rashad8985
kagurkina
frsergeysavenok
nikv568734
denblacky
efimov33
centrprof20
eduard495
deniskotvitsky56
kuchino09
ALLA1868
adman7
Voronin-Albertovich
vitalina3012
Беспалова