spamsink: (Default)
[personal profile] spamsink
Задачка-то вот она.

Внимание, ответ: минимальное количество односимвольных правок (правкой считается замена, вставка или удаление одного символа), которое нужно проделать с программой по ссылке, печатающей первые 100 цифр числа пи, чтобы она стала печатать первые 100 цифр числа е, равно пяти.
Вот эта программа:
#include <stdio.h>
int main() {
    const int N = 100;
    const int S = 10*N/3+1;
    int r[S];
    int i,k,b,d,c,cc;
    c = 10;
    for (i = 0; i < S; ++i)
        r[i] = 10;
    for (k = 0; k < N/2; ++k) {
        d = 0;
        i = S-2;
        do {
            d = d + r[i+1] * 100;
            b = i * 1 - 0;
            r[i+1] = d % b;
            d /= b;
            if (--i == 0) break;
            d = d * 1;
        } while (1);
        cc = c + d / 100;
        printf("%02d", cc);
        c = d % 100;
    }
    putchar('\n');
}

Найдите пять отличий от программы по ссылке.

Date: 2024-07-26 08:07 pm (UTC)
vak: (Default)
From: [personal profile] vak
Всего пять байтов, и переносимся из мира кругов и углов в царство степеней и полиномов.

Profile

spamsink: (Default)
spamsink

January 2026

S M T W T F S
    123
4 56 78910
1112131415 16 17
18192021222324
2526 2728 29 3031

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 2nd, 2026 09:09 pm
Powered by Dreamwidth Studios