Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/29: Рейтинг темы: голосов - 29, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 05.12.2018
Сообщений: 9

Описать функцию SumRange(A, B) целого типа, находящую сумму всех целых чисел от A до B включительно

06.12.2018, 12:33. Показов 6125. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Описать функцию SumRange(A, B) целого типа, находящую сумму всех целых чисел от A до B включительно (A и B — целые). Если A > B, то функция возвращает 0. С помощью этой функции найти суммы чисел от A до B и от B до C, если даны числа A, B, C.
помогите написать код
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.12.2018, 12:33
Ответы с готовыми решениями:

Определить функцию SumRange (A, B) целого типа, находящую сумму всех целых чисел от A до B включительно (A и B- цели)
Определить функцию SumRange (A, B) целого типа, находящую сумму всех целых чисел от A до B включительно (A и B- цели). Если A> B, то...

Описать функцию SumRange(A, B) целого типа, находящую сумму всех целых чисел от A до B
Описать функцию SumRange(A, B) целого типа, находящую сумму всех целых чисел от A до B включительно (A и B — целые). Если A > B, то...

Описать функцию NOD2(A,B) целого типа,находящую наибольший общий делитель(НОД) двух целых положительных чисел А и В,используя алгоритм Евклида:....
Описать функцию NOD2(A,B) целого типа,находящую наибольший общий делитель(НОД) двух целых положительных чисел А и В,используя алгоритм...

15
 Аватар для Серж762
1814 / 885 / 223
Регистрация: 10.02.2018
Сообщений: 3,682
06.12.2018, 14:40
Как вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
 
using namespace std;
 
 
int SumRange(int a , int b)
{
  int sum = 0;
 
  if (a > b) return 0;
  else
  {
   for(int i = a; i <= b; i++)   sum += i;
   return sum;
  }
}
 
int main()
{
  int A = 0, B = 0, C = 0;
 
  cout << "Vvedite A=";
  cin >> A;
  cout << "Vvedite B=";
  cin >> B;
  cout << "Vvedite C=";
  cin >> C;
 
  cout << endl;
  cout << "Sum(" << A <<"," << B << ")=" << SumRange(A , B) << endl;
  cout << "Sum(" << B <<"," << C << ")=" << SumRange(B , C) << endl;
return 0;
}
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
06.12.2018, 14:43
Серж762, можно короче
C++
1
2
3
4
5
6
7
int SumRange(int a , int b)
{
  int sum = 0;
   for(int i = a; i <= b; i++)
    sum += i;
   return sum;
}
0 сам получится.
0
60 / 45 / 15
Регистрация: 06.03.2018
Сообщений: 202
06.12.2018, 15:22
Продолжаем извращаться...
C++
1
2
3
4
5
6
int SumRange(int A, int B)
{
    int ret = 0;
    while( A <= B) ret += A++;
    return ret;
}
0
 Аватар для Серж762
1814 / 885 / 223
Регистрация: 10.02.2018
Сообщений: 3,682
07.12.2018, 09:44
Еще один вариант:
C++
1
2
3
4
5
6
7
8
9
int SumRange(int a , int b)
{
 if (a > b) return 0;
  else
  {
   int sum = (a + b) * (b / 2.0);
   return sum;
  }
}
Добавлено через 6 минут
ошибочка !!

Добавлено через 9 минут
Может и заумный но тоже вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
int SumRange(int a , int b)
{
 if (a > b) return 0;
  else
  {
   if( (b - a) % 2 == 0 )
    {
      return (b + a) * 1.5;
    }
    else return (b + a) *  2.0;
  }
}
0
60 / 45 / 15
Регистрация: 06.03.2018
Сообщений: 202
07.12.2018, 09:56
Цитата Сообщение от Серж762 Посмотреть сообщение
if (a > b) return 0; else
если у Вас возврат происходит при выполнении условия, то конструкция else бессмысленна.

Добавлено через 4 минуты
Цитата Сообщение от Серж762 Посмотреть сообщение
Может и заумный но тоже вариант:
Программисты часто идут на пролом, имея под своей рукой вычислительные мощности :-)
0
 Аватар для Серж762
1814 / 885 / 223
Регистрация: 10.02.2018
Сообщений: 3,682
07.12.2018, 15:52
Кусок кода в моем посте № 5 неверный (простуда дает о себе знать)
Вот окончательный вариант:
C++
1
2
3
4
5
int SumRange(int a , int b)
{
 if (a > b) return 0;
  else return (b + a) * ((b - a) + 1)/2.;
}
0
60 / 45 / 15
Регистрация: 06.03.2018
Сообщений: 202
07.12.2018, 16:15
Цитата Сообщение от Серж762 Посмотреть сообщение
int SumRange(int a , int b) { if (a > b) return 0; else return (b + a) * ((b - a) + 1)/2.; }
еще короче:
C++
1
2
3
4
int SumRange(int a, int b)
{
    return a > b ? 0 : ((b+a)*((b-a)+1)/2);
}
0
 Аватар для Серж762
1814 / 885 / 223
Регистрация: 10.02.2018
Сообщений: 3,682
07.12.2018, 16:17
Цитата Сообщение от galeks1 Посмотреть сообщение
еще короче:
Надеюсь мы ТС не запутали
0
 Аватар для alkl
119 / 94 / 35
Регистрация: 18.12.2012
Сообщений: 654
07.12.2018, 16:24
C++
1
2
3
int SumRange(int A, int B){
    return (A > B) ? 0 : (A * (B-A+1)) * 1.5;
}
0
60 / 45 / 15
Регистрация: 06.03.2018
Сообщений: 202
07.12.2018, 16:25
Цитата Сообщение от Серж762 Посмотреть сообщение
Надеюсь мы ТС не запутали
Мне кажется ТС уже не интересно.
0
 Аватар для Серж762
1814 / 885 / 223
Регистрация: 10.02.2018
Сообщений: 3,682
07.12.2018, 16:34
Цитата Сообщение от alkl Посмотреть сообщение
int SumRange(int A, int B){
* * return (A > B) ? 0 : (A * (B-A+1)) * 1.5;
}
Проверил Ваш код, при а=1, b=4,c=9 получил 6 и 36, хотя должно быть 10 и 39
0
 Аватар для alkl
119 / 94 / 35
Регистрация: 18.12.2012
Сообщений: 654
07.12.2018, 16:37
Где Вы в моём коде нашли "c" ?

Добавлено через 49 секунд
PS: Да и в Вашем его не наблюдаю. О чём Вы ?
0
 Аватар для Серж762
1814 / 885 / 223
Регистрация: 10.02.2018
Сообщений: 3,682
07.12.2018, 16:39
Цитата Сообщение от alkl Посмотреть сообщение
Где Вы в моём коде нашли "c" ?
По условию задачи дано три числа a,b,c В вашу функцию передаются пары (1,4) и (4,9) которые равны 6 и 36 соответственно

Добавлено через 1 минуту
хотя сума чисел от 1 до 4 =10 (1+2+3+4), а от 4 до 9 = 39 (4+5+6+7+8+9)
1
 Аватар для alkl
119 / 94 / 35
Регистрация: 18.12.2012
Сообщений: 654
07.12.2018, 16:40
Серж762, да, с маленькими числами не срабатывает. Проверял на 100...200 и 1000...2000.
Ссори.
0
 Аватар для Серж762
1814 / 885 / 223
Регистрация: 10.02.2018
Сообщений: 3,682
07.12.2018, 16:43
Цитата Сообщение от alkl Посмотреть сообщение
Ссори.
бывает я сам тока с 3-е попытки написал код без использования цикла
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.12.2018, 16:43
Помогаю со студенческими работами здесь

Описать рекурсивную функцию целого типа, находящую число сочетаний из n элементов по m, используя формулу
1.Описать рекурсивную функцию C(m,n) целого типа, находящую число сочетаний из n элементов по m, используя формулу: C(0,n) = C(n,n) = 1,...

Описать функцию NODN(A,N) целого типа, находящую наибольший общий делитель элементов целочисленного массива A размера N
Описать функцию NODN(A,N) целого типа, находящую наибольший общий делитель элементов целочисленного массива A размера N. С помощью этой...

Описать функцию DigitCountSum(K), находящую количество C цифр целого положительного числа K, а также их сумму
Описать функцию DigitCountSum(K), находящую количество C цифр целого положительного числа K, а также их сумму S (K — входной, C и S —...

Даны два целых числа A и B (A < B). Найти сумму всех целых чисел от A до B включительно
Даны два целых числа A и B (A &lt; B). Найти сумму всех целых чисел от A до B включительно. как это реализовать на с++??

Даны два целых числа А и В (А<В). Найти сумму квадратов всех целых чисел от А до В включительно
Даны два целых числа А и В (А&lt;В). Найти сумму квадратов всех целых чисел от А до В включительно.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru