C++ намудрила с программой, посмотрите что не так #include using namespace std;
int fsum(int a) { int sum = 0, i; for (i = 1; i < a; i++) if (a % i == 0) sum += i; return sum; }
int chk(int a, int b) { if (fsum(a) == b && fsum(b) == a) return 1; else return 0; }
int main() { int n, m, i, j; cout << "n = "; cin >> n; cout << "m = "; cin >> m; for (i = n; i <= m; i++) for (j = n; j <= m; j++) if (chk(i, j)) cout << i << " " << j << endl; system("pause"); return 0; }
Объяснение:Сместится на (3, 24)Повтори N раз Сместиться на (11, b) Сместиться на (a, 5) конецСместиться на (-38, 24)
Так как смещения относительные, их порядок можно менять, поэтому:
Сместится на (3 - 38 = -35, 24 + 24 = 48)Повтори N раз Сместиться на (11 + a, 5 + b)конец
Чтобы теперь вернуться в исходную точку, нужно выполнить смещение, обратное См. на (-35, 48), то есть Сместиться на (35, -48). Получаем следующее уравнение:
program ship;
uses graphabc;
begin
setwindowsize(260, 220);
setpencolor(clblack);
setpenwidth(3);
{корабль}
line(120, 20, 20, 140);
line(120, 20, 60, 150);
line(20, 140, 60, 150);
line(120, 20, 120, 160);
line(120, 140, 240, 140);
line(240, 140, 120, 20);
line(40, 160, 240, 160);
line(240, 160, 220, 200);
line(220, 200, 80, 200);
line(80, 200, 40, 160);
circle(100, 180, 10);
circle(140, 180, 10);
circle(180, 180, 10);
{солнце}
circle(245, 15, 15);
setpenwidth(2);
line(205, 18, 159, 18);
line(210, 38, 179, 67);
line(220, 58, 200, 78);
line(240, 58, 241, 88);
{птицы}
setpenwidth(1);
line(18, 19, 38, 38);
line(38, 38, 58, 19);
line(58, 19, 37, 27);
line(37, 27, 18, 19);
line(58, 8, 78, 28);
line(78, 28, 98, 9);
line(98, 9, 79, 18);
line(79, 18, 58, 8);
{клякса на корабле}
setbrushcolor(clblack);
circle(120, 160, 5);
end.
1
Объяснение:Сместится на (3, 24)Повтори N раз Сместиться на (11, b) Сместиться на (a, 5) конецСместиться на (-38, 24)Так как смещения относительные, их порядок можно менять, поэтому:
Сместится на (3 - 38 = -35, 24 + 24 = 48)Повтори N раз Сместиться на (11 + a, 5 + b)конецЧтобы теперь вернуться в исходную точку, нужно выполнить смещение, обратное См. на (-35, 48), то есть Сместиться на (35, -48). Получаем следующее уравнение:
(11 + a) * N = 35(5 + b) * N = -48Так как a и b - целые, N - натуральное, то:
N = НОД(35, 48) = 1.
Можем проверить:
(11 + a) * 1 = 35(5 + b) * 1 = -48a = 35 - 11 = 24b = -48 - 5 = -53