0 / 0 / 0
Регистрация: 02.02.2016
Сообщений: 4
|
|
1 | |
Найти сумму всех натуральных чисел от 1 до N02.02.2016, 20:39. Показов 109701. Ответов 10
Метки нет (Все метки)
Напишите программу, которая вводит натуральное число N и находит сумму всех натуральных чисел от 1 до N. Используйте сначала a)цикл с условием, а потом --b) цикл с переменной.
0
|
02.02.2016, 20:39 | |
Ответы с готовыми решениями:
10
Найти сумму всех натуральных чисел от 1 до m Дано целое k. Найти сумму квадратов всех натуральных чисел от 1 до k. Сумма чисел не должна превышать заданное Найти сумму всех двухзначных четных натуральных чисел Найти сумму и произведение всех натуральных чисел от 1 до 50, не используя формулы прогрессий. |
115 / 92 / 66
Регистрация: 27.04.2014
Сообщений: 307
|
||||||
02.02.2016, 21:10 | 2 | |||||
Сообщение было отмечено Памирыч как решение
Решение
0
|
Модератор
9956 / 5313 / 3327
Регистрация: 17.08.2012
Сообщений: 16,214
|
||||||
03.02.2016, 01:16 | 3 | |||||
0
|
39 / 39 / 49
Регистрация: 18.12.2015
Сообщений: 127
|
|
03.02.2016, 10:20 | 4 |
0
|
Модератор
9956 / 5313 / 3327
Регистрация: 17.08.2012
Сообщений: 16,214
|
|
03.02.2016, 10:24 | 5 |
Можно отвечать. Это часть одного и того же вопроса. Просто ответ на вопрос состоит из двух частей.
0
|
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
|
||||||
03.02.2016, 14:57 | 6 | |||||
Вне условий задачи:
0
|
39 / 39 / 49
Регистрация: 18.12.2015
Сообщений: 127
|
|||||||||||
03.02.2016, 22:29 | 7 | ||||||||||
Сообщение было отмечено Памирыч как решение
Решение
где: (n+1)*(n div 2) сумма без "среднего" слагаемого (при чётном n или без среднего при нечётном), ((n+1)div 2)*(n mod 2) "среднее" слагаемое (при нечётном n).
0
|
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
|
|
04.02.2016, 09:46 | 8 |
0
|
39 / 39 / 49
Регистрация: 18.12.2015
Сообщений: 127
|
||||||
04.02.2016, 10:27 | 9 | |||||
Чуть задержался, пытаясь сформулировать недостатки моей формулы и преимущества Вашей.
Пояснения по поводу "моей" формулы: При чётном n, например n=6, s=1+2+3+4+5+6=21 Для вычисления группируем значения попарно: первый с последним, второй с предпоследним и т.д., При этом сумма каждой пары будет равна n+1 (в примере это 1+6=7, 2+5=7, 3+4=7) Всего таких пар будет n div 2 (при n=6, пар будет 3). Итак, умножив (n+1) на (n div 2), получаем первую часть формулы: (n+1)*(n div 2), в примере это 7*3=21. Если таким же способом вычислять значение при нечётном n, то получается очевидная, но не оптимальная формула. При нечётном n, например n=7, s=1+2+3+4+5+6+7=28 При этом сумма каждой пары также будет равна n+1 (в примере это 1+7=8, 2+6=8, 3+5=8) Всего таких пар будет n div 2 (при n=7, пар будет 3). Также появляется непарное “среднее” слагаемое, которое равно (n+1) div 2 (в примере это (1+7) div 2=8 div 2=4), которое добавляется в сумму только при нечётном n (это учитывается с помощью умножения на n mod 2). Умножив (n+1)*(n div 2) (в примере (7+1)*(7 div 2)=8*3=24) и прибавив ((n+1)div 2)*(n mod 2) (в примере ((7+1) div 2)*(7 mod 2)=(8 div 2)*1=4), получаем 24+4=28. Для получения формулы (N+1)*N div 2 необходимо избавиться от среднего слагаемого. Для этого изменим способ группировки при нечётном n. Последнее слагаемое будем складывать с 0, первое с предпоследним, второе с “предпердпоследним“ и т.д. При этом все элементы будут парными, а их сумма будет равна n (в примере это 0+7=7, 1+6=7, 2+5=7, 3+4=7), а всего таких пар будет (n+1) div 2 (в примере это (1+7) div 2=8 div 2=4). Умножив n на ((n+1)div 2), получаем формулу: n*((n+1) div 2) (в примере это 7*4=28). Если представить это с помощью условного оператора, то получится:
1
|
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
|
|
04.02.2016, 10:52 | 10 |
Ох уж наворотили теории... там не так все сложно, как Вы это описали.
1+2+3+..+N = S N+..+3+2+1 = S Складываем эти последовательности. Получаем: (N+1)+..+(N+1)+(N+1)+(N+1) = 2*S т.е. N*(N+1) = 2*S Итого формула одна без всяких чётных и нечётных: S = N*(N+1)/2
1
|
39 / 39 / 49
Регистрация: 18.12.2015
Сообщений: 127
|
|
04.02.2016, 12:12 | 11 |
0
|
04.02.2016, 12:12 | |
04.02.2016, 12:12 | |
Помогаю со студенческими работами здесь
11
Найти сумму всех натуральных чисел до 10 Найти сумму всех четных натуральных чисел от 1 до 100 Найти сумму всех натуральных чисел в заданном диапазоне Рекурсивно найти сумму факториалов всех натуральных чисел до n Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |