КОНЪЮНКЦИЯ | ВСЕ О НОМЕРЕ 15 | ЕГЭ ИНФОРМАТИКА 2023

Поділитися
Вставка
  • Опубліковано 19 лис 2024

КОМЕНТАРІ • 1

  • @АндрейКлючников-я9н

    Питон я не знаю, но егэ сдавал на C, поэтому если нужен кому мой вариант, приведу ниже:
    (Писал по памяти и без компилятора, могут быть незначительные ошибки в синтаксисе)
    #include
    int conc(int n, int k) {
    char n_bin[32] = "", k_bin[32] = "";
    sprintf(n_bin, "%b", n);
    sprintf(k_bin, "%b", k);
    char s[32] = "";
    if (strlen(n_bin) != strlen(k_bin)) {
    if (strlen(n_bin) > strlen(k_bin)) {
    int zeroes = strlen(n_bin) - strlen(k_bin);
    char zeroes_str[32] = "";
    for (int i = 0; i < zeroes; i++) zeroes_str[i] = '0';
    strcat(zeroes_str, k_bin);
    strcpy(k_bin, zeroes_str);
    } else {
    int zeroes = strlen(k_bin) - strlen(n_bin);
    char zeroes_str[32] = "";
    for (int i = 0; i < zeroes; i++) zeroes_str[i] = '0';
    strcat(zeroes_str, n_bin);
    strcpy(n_bin, zeroes_str);
    }
    }
    for (int i = 0; i < strlen(n_bin); i++) {
    if (n_bin[i] == k_bin[i]) strncat(s, "1", 1);
    else strncat(s, "0", 1);
    }
    return strtol(s, NULL, 2);
    }
    int impl(int x, int y) {
    return !x || y;
    }
    int F(int A) {
    for (int x = 0; x < 10000; x++) {
    if (!(impl(conc(x, 29) != 0, impl(conc(x, 17) == 0,conc(x, A) != 0)))) {
    return 0;
    }
    }
    return A;
    }
    int main() {
    for (int i = 0; i < 100; i++) {
    if (F(i) != 0) printf("%d
    ", i);
    }
    return 0;
    }