С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
romster
5 / 3 / 1
Регистрация: 25.11.2011
Сообщений: 78
#1

нахождение факториала - C++

15.02.2012, 21:08. Просмотров 1268. Ответов 6
Метки нет (Все метки)

Вот, написал программу, но почему-то ответ неправильный постоянно выходит, подскажите, что я делаю не так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include<cmath>
 
using namespace std;
 
int main()
{int a,c=1,i;
  cout<<"VVerH ";
  cin>>a;
  for (i=0;i<a;++i)
  {(a=a-i)&&(c=c*a);};
  cout<<c;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2012, 21:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос нахождение факториала (C++):

Нахождение факториала - C++
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;conio.h&gt; using namespace std; unsigned long factroial(unsigned long); int...

Циклическое нахождение факториала - C++
Здравствуйте. Дело в том, что почему то значение факториала складывается со значением предыдущего факториала. В чем ошибка? #include...

Нахождение факториала рекурсией - C++
помогите написать программу для нахождения n факториала рекурсивным методом

Нахождение факториала без рекусрсии - C++
Дайте код на функцию, которая находит факториал числа определенного(которое она берет в аргумент)

Нахождение двойного факториала заданного числа N - C++
Дано целое число N (&gt; 0). Найти двойной факториал N: N!! = N·(N–2)·(N–4)·… (последний сомножитель равен 2, если N — четное, и 1, если N...

C++ нахождение факториала числа n с вводом из файла - C++
Здравствуйте! В общем мне нужно написать программку, которая считала бы факториал числа n типа int и чтобы число для расчета бралось из...

6
Jupiter
Каратель
Эксперт С++
6561 / 3982 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
15.02.2012, 21:15 #2
Цитата Сообщение от romster Посмотреть сообщение
C++
1
{(a=a-i)&&(c=c*a);}
это что по вашему?
0
romster
5 / 3 / 1
Регистрация: 25.11.2011
Сообщений: 78
15.02.2012, 21:17  [ТС] #3
Цитата Сообщение от Jupiter Посмотреть сообщение
это что
Ну это то же самое, что и
C++
1
2
3
 for (int i=0;i<a;++i)
  {a=a-i;
  c=c*a;}
0
valeriikozlov
Эксперт С++
4676 / 2502 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
15.02.2012, 21:29 #4
Цитата Сообщение от romster Посмотреть сообщение
Ну это то же самое, что и
Не совсем, но самая главная ошибка, влияющая на результат следующая:
Вы организуете цикл
C++
1
for (int i=0;i<a;++i)
и в самом цикле уменьшаете a (вот это и есть ошибка).

Цитата Сообщение от romster Посмотреть сообщение
C++
1
2
{a=a-i;
 c=c*a;}
можно просто заменить на
C++
1
c=c*(i+1);
1
romster
5 / 3 / 1
Регистрация: 25.11.2011
Сообщений: 78
15.02.2012, 21:29  [ТС] #5
Блиииин!!! Это правда, я уменьшаю значение а, !!!! Спасибо
0
Ланселот
6 / 6 / 1
Регистрация: 30.08.2011
Сообщений: 32
15.02.2012, 21:34 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cmath>
#include <conio.h>
 
using namespace std;
 
int main()
{int a,c=1,i;
  cout<<"VVerH ";
  cin>>a;
    for (i=1;i<=a;i++)// 0!==1
        c=c*i;
  cout<<c;
  getch();
}
0
ValeryS
Модератор
6729 / 5138 / 485
Регистрация: 14.02.2011
Сообщений: 17,250
15.02.2012, 21:43 #7
Цитата Сообщение от Jupiter Посмотреть сообщение
(a=a-i)&&(c=c*a);}
это что по вашему?
Цитата Сообщение от romster Посмотреть сообщение
Ну это то же самое, что и
C++
1
2
3
for (int i=0;i<a;++i)
 {a=a-i;
 c=c*a;}
совсем не то же самое
при a==i значение в первой скобке 0 "ложь" вторая скобка не будет выполнятся
а во второй записи
c=c*a
выполнится всегда
ну про ошибку алгоритма уже сказали
0
15.02.2012, 21:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2012, 21:43
Привет! Вот еще темы с ответами:

Нахождение факториала: для заданного N найти последнюю отличную от нуля цифру - C++
Факториалом натурального числа N (обозначается как N!) называется произведение всех натуральных чисел от 1 до N. Например, 5! = 1*2*3*4*5 =...

Описать рекурсивные функции вычисляющие значения факториала и двойного факториала - C++
Написать блок схему и программу согласно заданию. Описать рекурсивные функции Fact(n) и Fact2(N) вещественного типа, вычисляющие значения...

Поменять нахождение min среди двумерного массива, на нахождение min в каждой сточке - C++
Поменять нахождение min среди двумерного массива, на нахождение min в каждой сточке #include &lt;iostream&gt; #include &lt;cstddef&gt; #include...

вычисления факториала - C++
Составить программу для вычисления факториала числа. Найдите факториалы 4, 7, 10. В С++


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.