Yaroslava1902
06.12.2021 13:06

Выручайте нужно узнать почему не считает: найти произведение всех целых чисел от 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 ; }

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
holodovika
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 оценок)
Ответ:
Dashyliavvv
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-бота