Untitled
unknown
plain_text
4 years ago
4.0 kB
8
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...