Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Информатика, ДЗ, СИЛЬВЕР ТЕСТ, С++

Вадим Шафиков Ученик (91), на голосовании 1 день назад
помогите пж с домашкой
На странице сайта размещена карусель с фотографиями. Фотографии в каруселе пронумерованы от 1 до n. Карусель содержит кнопки вперед и назад. При нажатии кнопки вперед, в карусель загружается следующая фотография (фотография с номером на 1 больше). Если в каруселе отображается последняя фотография (с номером n), то при нажатии кнопки вперед загружается первая фотография (фотография с номером 1).
Всего карусель содержит n фотографий. Посетитель сайта сейчас просматривает фотографию с номером m. Фотография под каким номером загрузится в карусель, если посетитель нажмет один раз кнопку вперед?

Формат входных данных
Программа получает на вход две строки. В первой строке записано натуральное число n (n < 109). Во второй - натуральное число m (1≤ m ≤ n).

Формат выходных данных
Выведите одно число - номер следующей фотографии.
Запрещенные операторы: if; while; for; ?

НА С++
Голосование за лучший ответ
Вертолётов 625 Мудрец (12892) 1 месяц назад
Для решения задачи о карусели с фотографиями на C++, можно использовать математическую формулу для вычисления следующего номера фотографии без использования операторов управления потоком, таких как `if`, `while`, `for` и тернарного оператора `?`.

### Алгоритм

1. **Входные данные**:
- `n` — общее количество фотографий.
- `m` — номер текущей фотографии.

2. **Логика**:
- Если текущая фотография `m` меньше последней (`n`), то следующая будет просто `m + 1`.
- Если `m` равно `n`, то следующей будет первая фотография (номер 1).

### Формула

Можно выразить следующий номер фотографии с помощью формулы:

$$\text{next} = (m \mod n) + 1$$

### Программа на C++

Вот пример кода, который реализует данную логику:

```cpp
#include <iostream>
using namespace std;

int main() {
long long n, m;
cin >> n >> m;
cout << (m % n) + 1 << endl;
return 0;
}
```

### Пояснение кода

- **Ввод**: Программа считывает два числа: общее количество фотографий `n` и номер текущей фотографии `m`.
- **Вывод**: С помощью формулы `(m % n) + 1` вычисляется номер следующей фотографии и выводится на экран.

Таким образом, программа корректно обрабатывает все возможные случаи, включая переход от последней фотографии к первой.
Похожие вопросы