#include<iostream>
using namespace std;
void Task_1();
void Task_2();
void Task_3();
void Task_4();
void Task_5();
void Task_6();
void Task_7();
void Task_8();
void Task_9();
void Task_10();
int main(){
setlocale(LC_ALL, "rus");
Task_8();
}
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_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;
}
}
}
}
void Task_6()
{
cout << "Дано число n. Проверить, простое ли оно" << endl;
cout << "Введите n: ";
int n;
cin >> n;
int k = 2, c = 0;
while (k <= n / 2)
{
if (n % k == 0)
{
c += 1;
}
k++;
}
if (c == 0)
{
cout << "Число " << n << " простое" << endl;
}
else
{
cout << "Число " << n << " не простое" << endl;
}
}
void Task_7()
{
cout << "Дано натуральное число N. Найти сумму его цифр." << endl;
cout << "Введите N: ";
int N, sum = 0;
cin >> N;
while (N > 0)
{
sum = sum + N % 10;
N = N / 10;
}
cout << "Сумма цифр равна " << sum << endl;
}
void Task_8()
{
cout << "Дано натуральное число N. Определить, палиндром оно или нет. Палиндром – число, которое читается одинаково справа на лево и слева на право, например 12321, или 2332." << endl;
cout << "Введите N: ";
int N;
cin >> N;
int d = N, s = 0;
while (d > 0)
{
s = s * 10 + d % 10;
d = d / 10;
}
if (s == N)
{
cout << "Это палиндром" << endl;
}
else
{
cout << "Это не палиндром" << endl;
}
}
void Task_9()
{
cout << "Найти сумму чисел Фибоначчи на [a,b]." << endl;
int a, b, c;
int f1 = 0, f2 = 1, sum = 0;
cout << "Введите a, b:" << endl;
cin >> a >> b;
while (f2 < a)
{
c = f1 + f2;
f1 = f2;
f2 = c;
}
while (f2 <= b)
{
sum = sum + f2;
c = f1 + f2;
f1 = f2;
f2 = c;
}
cout << "Сумма равна " << sum << endl;
}
void Task_10()
{
cout << "Число называют совершенным, если оно равно сумме своих делителей, кроме себя самого. Найти все такие числа на [a,b]" << endl;
cout << "Введите a, b:" << endl;
int a, b;
cin >> a >> b;
while (a < b)
{
int s = 0, i = 1;
while (i <= a / 2)
{
if (a % i == 0)
{
s += i;
}
i++;
}
if (s == a)
{
cout << a << " ";
}
a++;
}
cout << endl;
}