Другие языки программирования и технологии

Проверте программу, которая вычисляет сумму целых чисел от а до 500 (значение a вводится с клавиатуры). c++

если ввести а 1000 и более это же тоже до 500? как сделать так тогда ?

float x;
int s;
int sum = 0;

cout << "\t Введите число:: ";
cin >> x;
s = x;

if (x != s || x > 500)
{
cout << "Некорректный ввод. \n";
}

cout << "\n\tСумма чисел от " << s << " до 500 = ";
while (s <= 500)
{
sum += s;
s++;
}
cout << sum << "\n\n"; }
#include <iostream>
using namespace std;
int main() {
const auto n = 500;
while (true) {
cout << "a: ";
int a;
cin >> a;
auto sum = 0;
if (a == n) sum = a;
else {
auto sn = n * (n + 1) / 2;
auto sa = a * (a + 1) / 2;
auto tmp = abs(sn - sa);
// 1 вариант. 500 не входит в заданный диапазон
sum = a < n? tmp + a - n : tmp;
// 2 вариант. 500 входит в заданный диапазон
//sum = a < n? tmp + a : tmp + n;
}
cout << "sum: " << sum << "\n\n";
}
}
Дмитрий Гордеев
Дмитрий Гордеев
76 012
Лучший ответ
1. У тебя в условии задачи ЦЕЛЫЕ числа. Так какого хрена ты вводишь ВЕЩЕСТВЕННОЕ x?

2. Школьный учебник математики, сумма арифметической прогрессии.

Вся программа - безо всяких циклов и независимо от того, меньше, больше или равно 500:

int a;
cin >> a;
cout << (a + 500) * (abs(500 - a) + 1) / 2;
Aleksandr Agafonov
Aleksandr Agafonov
79 343
у тебя не будет работать программа
если введет пользователь 1000 и более
ошибки логике твоей программы
программа будет остановлена

if (x != s || x > 500) -- в этой строке

while (s <= 500) // здесь тоже

или используй массив для ввода и хранения
Андрей Тарута
Андрей Тарута
16 208
???»?µ?? ?·???±???? а эта верно решена

cout << "\n\n\t4. Задание. Найти произведение всех целых чисел\n\n"
<< "\tот a до 20 (значение a вводится с клавиатуры: 1 <=a <= 20).\n" << endl;
float u;
float r = 1;

cout << "Введите число: ";
cin >> u;

if (u < 1 || u > 20 || u != (int)u)
{
cout << "Некорректный ввод\n";

}

cout << "Произведение всех целых чисел от " << u << " до 20 = ";

while (u <= 20)
{
r = r * u;
u++;
}

cout << r << "\n";

Похожие вопросы