Untitled

mail@pastecode.io avatar
unknown
plain_text
2 years ago
4.0 kB
1
Indexable
Never
#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;
			}

		}




	}

}