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