В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Лейла0044
Лейла0044
11.02.2021 23:21 •  Информатика

Выручайте нужно узнать почему не считает: найти произведение всех целых чисел от a до 20 (значение a вводится с клавиатуры: 1 < =a < = 20). #include using namespace std; void main() { int a; cin > > a; int res = 1; for (int i = a; i < = 20; ++i) res *= i; cout < < a; return ; }

Показать ответ
Ответ:
Kate27love
Kate27love
03.10.2020 03:27
#include <iostream>
using namespace std;
int main() {
int a;
cin>>a;
long res = 1;
for (int i=a; i<=20; ++i)
res *= i;
cout<<res<<"\n";
return 0;
}

Значение 20 (выделено в программе) вызывает арифметическое переполнение при небольших а. Попробуйте задать a=19 или 18.
0,0(0 оценок)
Ответ:
Masha6655
Masha6655
03.10.2020 03:27
Если вам надо включать в произведение:
#include <iostream>
using namespace std;
void main()
{
int a;
cin >> a;
int res = 1;
if (a < 20) 
{
for (int i = a; i <= 20; ++i)
res = i*res;
}
cout << res;
system("pause");
}

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