elizavetafilip2
29.09.2020 14:12

Данная программа производит реверс цифр целого числа, введенного с клавиатуры пользователем.
Задача заключается в том, чтобы, например, число 12345 переписать как 54321.
Текст программы:

#include "stdafx.h"
#include
#include

int _tmain(int argc, _TCHAR* argv[])
{
long int x, r;

printf("\n Enter an integer: ");
scanf_s("%ld", &x);

printf("\n Reverse-digit number %ld:\n\n\t", x);

do {
r = x % 10;
printf(" %ld", r);
x = x / 10;
} while ( x != 0);

printf("\n\n Press any key: ");
_getch();

return 0;
}

В программе применена арифметическая операция деления по модулю, которая имеет символ процента, т. е. «%». Любой остаток, получающийся в результате деления целых чисел, будет отброшен. В шкале старшинства оператор деления по модулю имеет приоритет, равный приоритету операторов умножения и деления. Переменные, используемые в программе, объявлены как длинные числа, поэтому применен тип long int .
Задание для самостоятельной работы:
1. Наберите и запустите приведенный выше пример в среде Visual Studio Express.
2. Модифицируйте программу таким образом, чтобы она выполняла подсчет числа итераций заданного цикла.
3. Определите максимальное число вида 123...987..., для которого еще можно применить тип long int.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
valerija1234
29.05.2022 02:20

G(9) = 9! = 362880

Объяснение:

Из условия задачи видно, что функция G рекурсивная, с условием завершения рекурсии при G(1) = 1

Тогда найдём значение при n = 9

Для удобства я буду обозначать -> как вхождение в рекурсию:

G(9) = G(8) * 9 -> G(7) *8 -> G(6) * 7 -> G(5) * 6 -> G(4) * 5 -> G(3) * 4 -> G(2) * 3 -> G(1) * 2 -> G(1) - это последовательность вызовов данной рекурсии, вглядевшись в которую можно увидеть факториал, откуда

G(9) = 9! = 362880

Теперь же пройдёмся обратно по рекурсии, где -> обозначает выход из рекурсии

G(1) = 1 -> G(2) = 1 * 2 = 2 -> G(3) = 2 * 3 = 6 -> G(4) = 6 * 4 = 24 -> G(5) = 24 * 5 = 120 -> G(6) = 120 * 6 = 720 -> G(7) = 720 * 7 = 5040-> G(8) = 5040 * 8 = 40320 -> G(9) = 40320 * 9 = 362880

0,0(0 оценок)
Ответ:
Якрутой111
07.01.2020 09:41

Объяснение:

1. Можно вычислять скорость передачи, но в конкретном случае намного проще решить математически, через пропорцию:

12 Мб - 9 минут

8 Мб - x минут

x=8*9/12= 6 минут

2. В книжке всего 400*30*60=720000 символов. Каждый символ кодируется 8 битами. Значит всего в книжке 720000*8=5760000 бит.

При скорости передачи 5 кбит/с = 5120 бит/с книжку можно передать за 5760000 / 5120=1125 секунд.

3. 2 Кб = 2048 байт= 2048*8=16384 бит.

Если 16384  бит передали за 8 с, то каждую секунду передается 16384/8=2048 бит

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота