Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Построить последовательность натуральных чисел следующим образом.
- Начальный элемент – натуральное число с четырьмя цифрами,
- которые не все равны между собой. Мы переходим от данного члена
- последовательности к следующему по такому правилу.
- Пусть a, b, c, d – четыре цифры, представляющие десятичную
- запись данного числа. Расположим их в порядке убывания
- слева направо и получим первое число. Расположим их в обратном
- порядке и вычтем это второе число из первого.
- Это и есть искомый следующий член последовательности.
- */
- #include <stdio.h>
- int main(int argc, char const *argv[])
- {
- int number;
- int a;
- int b;
- int c;
- int d;
- int temp;
- int max, min;
- printf("Введите число:\n");
- scanf("%d", &number);
- for (int i = 0; i < 10; ++i)
- {
- /* Получаем цифры числа */
- d = number % 10;
- c = (number / 10) % 10;
- b = (number / 100) % 10;
- a = number / 1000;
- /* Сортировка методом пузырька */
- /* 1 проход */
- if (a > b)
- {
- temp = a;
- a = b;
- b = temp;
- }
- if (b > c)
- {
- temp = b;
- b = c;
- c = temp;
- }
- if (c > d)
- {
- temp = c;
- c = d;
- d = temp;
- }
- /* 2 проход*/
- if (a > b)
- {
- temp = a;
- a = b;
- b = temp;
- }
- if (b > c)
- {
- temp = b;
- b = c;
- c = temp;
- }
- /* 3 проход*/
- if (a > b)
- {
- temp = a;
- a = b;
- b = temp;
- }
- /* Строим числа из цифр */
- max = 1000 * d + 100 * c + 10 * b + a;
- min = 1000 * a + 100 * b + 10 * c + d;
- /* Получаем новое число */
- number = max - min;
- printf("%d\n", number);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement