|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.10.2011, 15:43 | #1 |
Форумчанин
Регистрация: 13.10.2010
Сообщений: 109
|
Факториал четных чисел С ++.
Здравствуйте, не давно начал изучать С ++, и вот моя первая запара:
Нужно подсчитать суму факториалов четных чисел от N1 do N2. Вот мой код, работает не правильно, подскажите что не так. Заранее спасибо. Код:
Учусь учиться.
|
04.10.2011, 20:13 | #2 |
Форумчанин
Регистрация: 18.10.2009
Сообщений: 185
|
Если я правильно понял ваше задание то примерно вот так (код непроерял, т.к. компилятора нет под рукой да и С++ не мой основной язык программировани)
Код:
или тожесамое но немного более оптимизированное по скорости выполнения Код:
На С# пишу лучше чем на русском.
"У меня правильнописание хромает. Оно хорошее, но почему-то хромает." Последний раз редактировалось val_nnm; 04.10.2011 в 20:15. |
04.10.2011, 20:37 | #3 |
Форумчанин
Регистрация: 13.10.2010
Сообщений: 109
|
val_nnm, не большее чётное а суму четных чисел от N1 до N2.
Учусь учиться.
|
04.10.2011, 20:45 | #4 |
Форумчанин
Регистрация: 18.10.2009
Сообщений: 185
|
я понял что нужно найти сумму факториалов от чётных чисел лежащий в диапазоне от n1 до n2?
т.е. если скажем задать n1 = 3 а n2=9 то нужно найти s = 4!+6!+8!=(1*2*3*4)+(1*2*3*4*5*6)+(1 *2*3*4*5*6*7*8) если задать n1=4 а n2 = 8 то результат будет тотже s = 4!+6!+8!=(1*2*3*4)+(1*2*3*4*5*6)+(1 *2*3*4*5*6*7*8) я правельно понял задание? а фраза "Находим большее чётное" означает что ма находим первое чётное с которого начинаем вычислять фактриалы. т.е. если n1=3 то 3%2 = 1 т.е. мы изменяем начальное значение на 4=3+1 а если n=4 то 4%2 = 0 т.е. начальное значение остаёться неизменным.
На С# пишу лучше чем на русском.
"У меня правильнописание хромает. Оно хорошее, но почему-то хромает." Последний раз редактировалось val_nnm; 04.10.2011 в 20:49. |
04.10.2011, 22:18 | #5 |
Форумчанин
Регистрация: 13.10.2010
Сообщений: 109
|
val_nnm, спасибо огромное. Тогда в код не глянул толком, с телефона был, сейчас разобрался, все работает. Выручил.
Учусь учиться.
Последний раз редактировалось Wild_klas; 04.10.2011 в 22:21. |
05.10.2011, 00:27 | #6 |
Форумчанин
Регистрация: 13.10.2010
Сообщений: 109
|
только есть один вопрос:
что делает эта строчка? не могу понять. Код:
Учусь учиться.
|
05.10.2011, 00:35 | #7 |
Форумчанин
Регистрация: 18.10.2009
Сообщений: 185
|
если посмотреть на ряд. Например на (1*2*3*4)+(1*2*3*4*5*6)+(1*2*3*4*5* 6*7*8)+(1*2*3*4*5*6*7*8*9*10)
то каждый факториал очень похож на предыдущий. 4! = (1*2*3*4) 6! = (1*2*3*4*5*6) = (1*2*3*4)*(5*6) = 4!*(4+1)*(4+2) 8! = (1*2*3*4*5*6*7*8) = (1*2*3*4*5*6)*(7*8)=6!*(6+1)*(6+2) 10! = (1*2*3*4*5*6*7*8*9*10) = (1*2*3*4*5*6*7*8)*(9*10)= 8!*(8+1)*(8+2) и.т.д. т.е. мы просто берём результат полученный для предыдущего факториала и получаем следующий мы заранее расчитываем значение факториала на следующий шаг из тех данных что у нас уже есть. p.s. коментарий Код:
Код:
На С# пишу лучше чем на русском.
"У меня правильнописание хромает. Оно хорошее, но почему-то хромает." Последний раз редактировалось val_nnm; 05.10.2011 в 00:38. |
05.10.2011, 00:48 | #8 |
Форумчанин
Регистрация: 13.10.2010
Сообщений: 109
|
Я понял, спасибо.
Учусь учиться.
|
05.10.2011, 01:07 | #9 |
Форумчанин
Регистрация: 13.10.2010
Сообщений: 109
|
Это ясно)
Учусь учиться.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создать файл целых чисел с данным именем и записать в него N первых положительных четных чисел | prelest' | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 01.06.2011 10:27 |
ввод четных чисел с 40 ячейки | Enessis | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 5 | 05.09.2010 07:54 |
Распознавание четных чисел | Demigoddess | Общие вопросы C/C++ | 3 | 11.03.2009 21:43 |
нахождение суммы четных чисел в массиве | Ci_novice | Общие вопросы C/C++ | 1 | 23.12.2007 12:11 |