Найти остаток от деления числа - Pascal
Формулировка задачи:
В данной задаче нельзя использовать цикл, т.к. не уложитесь по времени.
Время выполнения программы не более 2 сек
Написать программу, которая находит остаток от деления числа:
2^21+2^22+2^23+...+2^2n-1+2^2n на 7
Входные данные:
Вводится n<100 000
Выходные данные:
остаток от деления
Решение задачи: «Найти остаток от деления числа»
textual
Листинг программы
#include <iostream>
using namespace std;
int main()
{
int b,z,n,x,y;
b = 0, z = 1;
for(x = 1; x < n; x++)
{
y = z*2;
if (x>=21) b+=y;
}
b%=7;
cout<<b;
}
Объяснение кода листинга программы
- Объявляются переменные:
b(остаток от деления),z(значение для вычисления переменнойy),n(неинициализированная переменная),x(переменная для цикла),y(результат вычисления).
- Присваиваются начальные значения переменным
bиz:b = 0иz = 1соответственно. - Выполняется цикл
forотx = 1доn - 1. - Вычисляется значение переменной
yкакz*2. - Выполняется условие
if: еслиxбольше или равно 21, то к значению переменнойbприбавляется значение переменнойy. - Вычисляется остаток от деления
bна 7:b%=7. - Выводится значение переменной
bв консоль:cout<<b.