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

Онлайн сканворд «Основы Web-дизайна_1»


Онлайн сканворд «Основы Web-дизайна_1»

Показать ответ
Ответ:
GoldHorse
GoldHorse
22.02.2021 16:21
На интервале с левой границей 500 первое число, кратное 13, равно 507, а первое число, кратное 17, равно 510. Числа, кратные 13, образуют последовательность 507, 520, 533, ..., а числа, кратные 17, образуют последовательность 510, 527, 544, ... Для решения задачи достаточно объединить эти последовательности в одну, упорядоченную по возрастанию и взять первых 20 её членов.

Как получить 507 и 510? Первое число m, не меньшее некоторого k и кратное n определяется по простому алгоритму. Пусть p = k mod n - остаток от целочисленного деления k на n. Если p=0, то m=k, в противном случае m=k+n-p.
Проверим для k=500, n=13.
p = 500 mod 13 = 6. p≠0 ⇒ m = 500+13-6 = 507.

Поскольку 17>13, в последовательности чисел, кратных 17, их не может быть больше половины искомого количества, т.е. больше 20/2=10. А десятый член последовательности 510, 257, ... это 510+9×17 = 663. Тем более, это значение не может быть превышено в последовательности чисел, кратных 13, их там будет (663-507)/13=12.

Окончательно: строим последовательности из 12 чисел ряда 507, 520, 533... и 10 чисел ряда 510, 527, 544, ... объединяем их в последовательность, упорядоченную по возрастанию и берем 20 первых ее членов.

PascalABC.NET 3.3.5, сборка 1660 от 20.04.2018
Внимание! Если программа не работает, обновите версию!

begin
  (SeqGen(12,507,t->t+13)+SeqGen(10,510,t->t+17)).OrderBy(t->t)
      .Distinct.Take(20).Println
end.

Результат
507 510 520 527 533 544 546 559 561 572 578 585 595 598 611 612 624 629 637 646
0,0(0 оценок)
Ответ:
ferrum4
ferrum4
06.11.2021 22:15
//Описание добавить не вышло на сайт, посему - в файле

#include "stdafx.h"
#include <conio.h>

void swap(short &a, short &b) {
    short c = a;
    a = b;

    b = c;
}

void sort(short &a, short &b, short &c)
{
    short min = a,
        max = c;
    if (min > b) min = b;
    if (min > c) min = c;
    if (max < a) max = a;
    if (max < b) max = b;
    b = a + b + c - min - max;
    a = min;
    c = max;
}

int main()
{
    short a1, b1, c1, a2, b2, c2;
    scanf_s("%hd %hd %hd", &a1, &b1, &c1);
    scanf_s("%hd %hd %hd", &a2, &b2, &c2);

    sort(a1, b1, c1);
    sort(a2, b2, c2);

    if ((a1 == a2) && (b1 == b2) && (c1 == c2))
        printf("Boxes are equal");
    else
        if ((a1 <= a2) && (b1 <= b2) && (c1 <= c2))
            printf_s("The first box is smaller than the second one");
        else
            if ((a2 <= a1) && (b2 <= b1) && (c2 <= c1))
                printf_s("The first box is larger than the second one");
            else
                printf_s("Boxes are incomparable");

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