2000, 2016, 800
Объяснение:
a % b означает остаток от деления a на b.
a % b == 0 - проверка на то, что остаток равен нулю, то есть a делится на b.
a % b != 0 - проверка на то, что остаток не равен нулю, то есть a не делится на b.
or - логическое или, операция вернет истину, если хотя бы один из операндов истинен.
Собираем: (x % 4 == 0 and x % 100 != 0) or x % 400 == 0 истинно, если x делится на 4 и не делится на 100, или делится на 400.
2016 делится на 4 и не делится на 100, подходит.
2000 и 800 делятся на 400, подходят.
Вот простой пример написанный на С++
Если нужно объяснить программу то пиши: Telegram @danileremeev
#include <iostream>
using namespace std;
struct st{
int x1, x2, x3, amount, composition, sum_of_squares;
int number, thousand, hundreds, dozens, units;
int a, b, amount_ab, difference_ab, composition_ab;
}; st St;
int main() {
setlocale(0, "");
cout << "1)\n";
cout << "x1: "; cin >> St.x1;
cout << "x2: "; cin >> St.x2;
cout << "x2: "; cin >> St.x3;
St.amount = St.x1 + St.x2 + St.x3;
St.composition = St.x1 * St.x2 * St.x3;
St.sum_of_squares = (St.x1 * St.x1) + (St.x2 * St.x2) + (St.x3 * St.x3);
cout << "суммa: " << St.amount << "\nпроизведение: " << St.composition << "\nсумму квадратов: "<<St.sum_of_squares << endl;
cout << "\n2)\n";
for (;;) {
cout << "введите четырехразрядное число: ";
cin >> St.number;
if (St.number >= 1000 && St.number <= 9999) {
St.thousand = St.number / 1000;
St.hundreds = St.number / 100;
St.dozens = St.number / 10;
St.units = St.number / 1;
cout << "Тысяч - " << St.thousand << ", сотен - " << St.hundreds << ", десятков - " << St.dozens << ", единиц - " << St.units;
break;
}
cout << "\n\n3)\n";
cout << "Введите два натуральных числа <=10\n";
cin >> St.a >> St.b;
if (St.a >= 0 && St.a <= 10 && St.b >= 0 && St.b <= 10) {
St.amount_ab = St.a + St.b;
St.difference_ab = St.a - St.b;
St.composition_ab = St.a * St.b;
cout << "суммa: " << St.amount_ab << "\nразность: " << St.difference_ab <<"\nпроизведение: " << St.composition_ab << endl;
system("pause > nul");
2000, 2016, 800
Объяснение:
a % b означает остаток от деления a на b.
a % b == 0 - проверка на то, что остаток равен нулю, то есть a делится на b.
a % b != 0 - проверка на то, что остаток не равен нулю, то есть a не делится на b.
or - логическое или, операция вернет истину, если хотя бы один из операндов истинен.
Собираем: (x % 4 == 0 and x % 100 != 0) or x % 400 == 0 истинно, если x делится на 4 и не делится на 100, или делится на 400.
2016 делится на 4 и не делится на 100, подходит.
2000 и 800 делятся на 400, подходят.
Вот простой пример написанный на С++
Если нужно объяснить программу то пиши: Telegram @danileremeev
#include <iostream>
using namespace std;
struct st{
int x1, x2, x3, amount, composition, sum_of_squares;
int number, thousand, hundreds, dozens, units;
int a, b, amount_ab, difference_ab, composition_ab;
}; st St;
int main() {
setlocale(0, "");
cout << "1)\n";
cout << "x1: "; cin >> St.x1;
cout << "x2: "; cin >> St.x2;
cout << "x2: "; cin >> St.x3;
St.amount = St.x1 + St.x2 + St.x3;
St.composition = St.x1 * St.x2 * St.x3;
St.sum_of_squares = (St.x1 * St.x1) + (St.x2 * St.x2) + (St.x3 * St.x3);
cout << "суммa: " << St.amount << "\nпроизведение: " << St.composition << "\nсумму квадратов: "<<St.sum_of_squares << endl;
cout << "\n2)\n";
for (;;) {
cout << "введите четырехразрядное число: ";
cin >> St.number;
if (St.number >= 1000 && St.number <= 9999) {
St.thousand = St.number / 1000;
St.hundreds = St.number / 100;
St.dozens = St.number / 10;
St.units = St.number / 1;
cout << "Тысяч - " << St.thousand << ", сотен - " << St.hundreds << ", десятков - " << St.dozens << ", единиц - " << St.units;
break;
}
}
cout << "\n\n3)\n";
for (;;) {
cout << "Введите два натуральных числа <=10\n";
cin >> St.a >> St.b;
if (St.a >= 0 && St.a <= 10 && St.b >= 0 && St.b <= 10) {
St.amount_ab = St.a + St.b;
St.difference_ab = St.a - St.b;
St.composition_ab = St.a * St.b;
cout << "суммa: " << St.amount_ab << "\nразность: " << St.difference_ab <<"\nпроизведение: " << St.composition_ab << endl;
break;
}
}
system("pause > nul");
}