Дано двузначное целое число . Все цифры должны быть не равны нулю. Определить четырехзначное число : ∙ первая цифра равна остатку от деления на 10 произведения всех цифр числа ; ∙ вторая цифра равна остатку от деления второй цифры числа на первую цифру числа ; ∙ третья цифра равна остатку от деления суммы всех цифр числа на вторую цифру числа . ∙ четвертая цифра равна остатку от деления первой цифры числа на вторую цифру числа ; Например, = 35, тогда = 5233. Должно быть выведено именно число , (оно может иметь меньше разрядов, если первые цифры получатся равными нулю), а не выведены на экран последовательно четыре цифры как написать???
Вводится кратное десяти число: вторая цифра числа (на самом деле первая, т.к нумерация справа налево - наименьший номер имеет цифра разряда единиц) равна нулю. Деление на ноль запрещено. Как должна обработать это программа?
Fender_inactive2697143, если ты про эту задачку, то в условии же вроде написано, что никакая цифра входящего числа != 0, значит входящее число не может быть кратно 10.
#include "iostream" #include "math.h" using namespace std; int main() { int i, j, l, q, m, a, r; cin >> i; j = i % 10; // 2 цифра l = (i / 10) % 10; // 1 цифра q = ((i * j) / 10) % 10; // первая цифра данного числа m = (j / l) % 10; // 2 цифра следующего числа a = ((j + l) / j) % 10; // 3 цифра следующего числа r = ((l / j) % 10); // 4 цифра следующего числа cout << q << m << a << r;
klarkent, #include <iostream> using namespace std; void main() { int a; cin >> a; cout << ((a / 10 * a % 10) % 10 * 1000) + (a % 10 % (a / 10) * 100) + ((a / 10 + a % 10) % (a % 10) * 10) + (a / 10 % (a % 10)); } C #include <iostream> using namespace std; void main() { int a; cin >> a; cout << ((a / 10 * a % 10) % 10 * 1000) + (a % 10 % (a / 10) * 100) + ((a / 10 + a % 10) % (a % 10) * 10) + (a / 10 % (a % 10)); }