Untitled
unknown
plain_text
3 years ago
4.0 kB
3
Indexable
#include<iostream> using namespace std; void Task_1(); void Task_2(); void Task_3(); void Task_Palindrom(); void Task_4(); void Task_5(); int main(){ setlocale(LC_ALL, "rus"); Task_5(); } void Task_1() { cout << "Известно, что любое натуральное число N можно представить в виде суммы не более чем четырёх квадратов натуральных чисел или, что то же самое, в виде суммы четырёх квадратов неотрицательных целых чисел (теорема Лагранжа). Дано натуральное число n, указать такие неотрицательные целые x,y,z,t, что n=x2+y2+z2+t2." << endl; int x = 0, y = 0, z = 0, t = 0, n; cout << "Введите n" << endl; cin >> n; for (x; x * x <= n; x++) { for (y = 0; y * y <= n; y++) { for (z = 0; z * z <= n; z++) { for (t = 0; t * t <= n; t++) { if (x * x + y * y + z * z + t * t == n) { cout << x << " " << y << " " << z << " " << t << " " << endl; exit(5);// exit? } } } } } } void Task_2() { cout << "Найти n первых чисел Фибоначчи." << endl; int a1, a2, a3, i,n; cout << "Введите n" << endl; cin >> n; a1 = 1; a2 = 1; for (i = 1; i <= n; i++) { cout<<a1<<" "; a3 = a1 + a2; a1 = a2; a2 = a3; } } void Task_3() { cout << "Дано число А. Проверить – это число Фибоначчи или нет." << endl; int a1, a2, a3, i, A,c=-6; cout << "Введите A" << endl; cin >> A; a1 = 1; a2 = 1; for (i = 1; a1 <= A; i++) { if (a1 == A) { cout << A << "- принадлежит числу Фибоначчи"; c = 0; break; } a3 = a1 + a2; a1 = a2; a2 = a3; } if (c == -6) { cout << A << "- не принадлежит числу Фибоначчи"; } } void Task_Palindrom() { cout<<"Дано натуральное число N. Определить, палиндром оно или нет. Палиндром – число, которое читается одинаково справа на лево и слева на право, например 12321, или 2332." << endl; int N,i,sum,k; cout << "Введите N" << endl; cin >> N; i = N; sum = 0; for ( i ; i > 0; i/=10) { if (i < 10) { k = i; } else k = i % 10; sum = 10 * sum + k; } if (sum == N) { cout << "Да" << endl; } else cout << "Нет" << endl; } void Task_4() { cout << " Дано натуральное число N, найти наиболее часто встречающуюся цифру" << endl; int N, c, b, a, max,k; cout << "Введите N"<<endl; cin >> N; a = -1; max = 0; for (N; N > 0; N /= 10) { b = N%10; c = N; k = 0; for (c; c > 0; c /= 10) { if (c % 10 == b) { k++; } } if (max < k) { max = k; a = b; } } cout << "Цифра:" << a << " Количество повторений: " << max; } void Task_5() { int a, b, n, m, k1, s1, k2, s2; cout << "Два натуральных числа называют дружественными, если каждое из них равно сумме всех делителей другого, кроме самого этого числа. Найдите все пары дружественных чисел на отрезке [a,b]." << endl; cout << "Введите а и b" << endl; cin >> a >> b; n = a; for (n; n <= b; n++) { for (m=a+1; m <= b; m++) { s1 = 1; for (k1 = 2; k1 <= n / 2; k1++) { if (n % k1 == 0) { s1 += k1; } } s2 = 1; for (k2 = 2; k2 <= m/2; k2++) { if (m % k2 == 0) { s2 += k2; } } if (s1 == m && s2 == n) { cout << n << " " << m << endl; } } } }
Editor is loading...