Форум программистов, компьютерный форум CyberForum.ru

Факториалы... - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Интерактивная сегментация http://www.cyberforum.ru/cpp-beginners/thread216711.html
Нужна программа для курсовой на любом языке программирования на тему: Интерактивная сегментация. Помогите, пожалуйста
C++ найти адрес первого нечетного числа в матрице for(int i=0;i<n;i++) for(int j=0;j<n;j++) { if(x%2!=0) { p=i; p=j; break; } } http://www.cyberforum.ru/cpp-beginners/thread216698.html
C++ цикл for
задача: Среди всех n-значных чисел (n = 1,2,3,4) указать те, сумма цифр которых равна данному числу k. # include <iostream.h> #include <conio.h> void main() { clrscr(); int i,j,n,k,l,d,v; cout<<"vvedite k i n"<<endl; cin>>k>>n; int n1=1; n2;
классы+друж. функции C++
Создать класс Time для работы со временем в формате «час:минута:секунда». Класс должен включать в себя не менее четырех функций инициализации: числами, строкой (например, «23:59:59»), секундами и временем. Обязательными операциями являются: вычисление разницы между двумя моментами времени в секундах, сложение времени и заданного количества секунд, ...
C++ типизир.файл http://www.cyberforum.ru/cpp-beginners/thread216690.html
задача: Дан файл из вещественных чисел. Описать функцию, возвращающую предпоследний элемент файла (если такой есть). # include <iostream.h> # include <stdio.h> float GetPlast() { FILE *f; float c=-1,r; f=fopen("text.txt","r"); while(!feof(f)) { r=c;
C++ распечатать список учителей. задача:Распечатать список тех учителей школы, которые преподают математику и информатику, указать стаж их работы и недельную нагрузку. #include<iostream.h> #include<conio.h> #include<stdlib.h> #include<string.h> void main() { clrscr(); struct teatcher{ подробнее

Показать сообщение отдельно
Напильнег
480 / 120 / 10
Регистрация: 30.09.2010
Сообщений: 473
25.12.2010, 15:18     Факториалы...
Цитата Сообщение от valeriikozlov Посмотреть сообщение
Правильнее будет так:
Я понял, благодаря Вам, что находить каждое слагаемое путем деления 1 на кучу делителей, менее эффективно, чем находить очередное слагаемое из значения соседнего слагаемого.
А-а-а! Дошло наконец - Ваше
C++
1
for (j=2*i-2*n-1; j<=2*i-2*n; j++) sni/=j;
это, то что я записал как
C++
1
/(2*i+1)/(2*i+2)
, сохранив соответствие кода естественной записи выражений для слагаемых.

На самом деле я Ваш код до конца не разбирал - просто отметил рассогласование индекса цикла и нумерации слагаемых и какой-то внутренний цикл, и не стал ковыряться в какашке - просто вынул решение явно лучше.

А предъявил сначала другое решение потому, что цель была пнуть <как его там>, а он рекурентное решение просто бы не понял, он и простейшее очевиднейшее то, как видно, не понял без дополнительных разъяснений. Когда нарисовался противник посерьезнее, ударил козырем.

Если терзают сомнения, посмотри историю моих сообщений - я на последней неделе в аналогичной задаче разъяснял, что такие задачи надо делать через рекурентное соотношение, когда все, в том числе и Вы, херней какой-то маялись. Так что это еще вопрос, кто у кого чего содрал.

Цитата Сообщение от valeriikozlov Посмотреть сообщение
for (sni=1, j=3; j<=n+1; j++) sni/=j;// конечно "з хвоста" нежелательно. Кол-во операций деления в целом ведь не увеличивается (именно за счет этой строки).
Ответ не верен, пилите дальше.

Цитата Сообщение от valeriikozlov Посмотреть сообщение
Жалко нет зевающего смайлика.
Зевать Вам рано - я простых вопросов не предлагаю, и этот вопрос касается весьма важного аспекта практических вычислений. Так что рекомендую отнестись к тому, что я говорю, повнимательнее.
 
Текущее время: 08:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru