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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 69, средняя оценка - 4.87
MeTeop
2 / 2 / 0
Регистрация: 03.01.2011
Сообщений: 13
#1

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

11.01.2011, 13:11. Просмотров 9236. Ответов 15
Метки нет (Все метки)

//3. Дано натуральное число n. Написать программу, которая вычисляет факториал неотрицательных целых чисел n (т.е. число целое и больше 0). Формула вычисления факториала приведена ниже.
n! = 1*2*3*....*n, (формула вычисления факториала числа n)
0! = 1 (факториал 0 равен 1 (по определению факториала))
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
//Черее цикл while или do while
 
#include <iostream>
using namespace std;
void main(){
    int n=0;
    cout<<"Enter - ";
    int a;
    cin>>a;
    while(n<a){
        n++;
        cout<<n;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.01.2011, 13:11     Написать программу, которая вычисляет факториал неотрицательных целых чисел n
Посмотрите здесь:
C++ Написать программу, которая вычисляет сумму первых n целых положительных целых чисел
Написать программу, которая вычисляет сумму первых n целых положительных четных чисел C++
C++ Составить рекурсивную функцию, которая вычисляет сумму двух целых неотрицательных чисел путем многократного добавления числа 1
Написать программу, которая вычисляет произведение элементов введенного с клавиатуры массива целых чисел C++
C++ Написать программу, которая вычисляет среднее арифметическое ненулевых элементов введенного с клавиатуры массива целых чисел.
Напишите программу, которая вычисляет факториал числа C++
Написать программу, которая предлагает пользователю ввести 10 чисел, вычисляет процент четных и нечетных чисел и выводит результат в консоль C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
1641 / 1269 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
11.01.2011, 13:25     Написать программу, которая вычисляет факториал неотрицательных целых чисел n #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
 
int main(){
    int n, temp=1;
    cout<<"Enter n\n";
    cin>>n;
    while(n>0){
        temp*=n--;
    }
    cout<<temp;
}
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
11.01.2011, 13:38     Написать программу, которая вычисляет факториал неотрицательных целых чисел n #3
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
#include <stdio.h>
#include <stdlib.h>
 
typedef unsigned long long ullong_t;
 
ullong_t fact_while(size_t);
ullong_t fact_rec(size_t);
 
int main()
{
    size_t n;
    puts("Input n: ");
    scanf("%u", &n);
    printf("Calculating with `while' loop: %llu\n", fact_while(n));
    printf("Calculating with recursion: %llu\n", fact_rec(n));
    exit(0);
}
 
ullong_t fact_while(size_t n)
{
    ullong_t result = 1;
    while(n)
        result *= n--;
    return result;
}
 
ullong_t fact_rec(size_t n)
{
    return n ? n * fact_rec(n - 1) : 1;
}
sandye51
программист С++
681 / 583 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
11.01.2011, 14:04     Написать программу, которая вычисляет факториал неотрицательных целых чисел n #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <conio.h>
 
using namespace std;
 
void main()
{
    int n = 1;
    cout << "Enter - \n";
    int a;
    cin >> a;
    while(a > 1)
        n *= a--;
    cout << n << endl;
    _getch();
}
vx5
187 / 171 / 4
Регистрация: 04.09.2010
Сообщений: 656
11.01.2011, 14:06     Написать программу, которая вычисляет факториал неотрицательных целых чисел n #5
а зачем две темы создали ?
sandye51
11.01.2011, 14:21
  #6

Не по теме:

vx5, автор наверно думает может больше вариантов решений будет

isaak
102 / 39 / 9
Регистрация: 17.10.2010
Сообщений: 656
11.01.2011, 16:12     Написать программу, которая вычисляет факториал неотрицательных целых чисел n #7
Не знаю может кому пригодится для факториалов больших чисел (от 10! до 170! включительно)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <conio.h>
using namespace std;
typedef double  udouble;
void main()
{
         udouble n = 1;
        cout << "Enter - \n";
        udouble a;
        cin >> a;
        while(a > 1)
                n *= a--;
        cout << n << endl;
        _getch();
}
Добавлено через 15 минут
До 4000! включительно:
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
#include <stdio.h>
#include <stdlib.h>
 typedef  double  udouble_t;
udouble_t fact_while(size_t);
udouble_t fact_rec(size_t);
 
int main()
{
        size_t n;
        puts("Input n: ");
        scanf("%u", &n);
        printf("Calculating with `while' loop: %llu\n", fact_while(n));
        printf("Calculating with recursion: %llu\n", fact_rec(n));
        system("pause");
        exit(0);
}
 
udouble_t fact_while(size_t n)
{
        udouble_t result = 1;
        while(n)
                result *= n--;
        return result;
}
 
udouble_t fact_rec(size_t n)
{
        return n ? n * fact_rec(n - 1) : 1;
}
sandye51
11.01.2011, 16:40
  #8

Не по теме:

isaak, давай еще длинную арифметику напиши

MeTeop
2 / 2 / 0
Регистрация: 03.01.2011
Сообщений: 13
11.01.2011, 22:07  [ТС]     Написать программу, которая вычисляет факториал неотрицательных целых чисел n #9
спасибо sandye51!!!
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
12.01.2011, 18:32     Написать программу, которая вычисляет факториал неотрицательных целых чисел n #10
Ну тогда и мой вариант http://www.cyberforum.ru/cpp/thread1...tml#post970436 до 100 000! гарантированно, дальше не проверял, но запас есть, должен работать до ~200 000!

isaak, в вашем случае младшие десятичные разряды теряются
isaak
102 / 39 / 9
Регистрация: 17.10.2010
Сообщений: 656
12.01.2011, 22:02     Написать программу, которая вычисляет факториал неотрицательных целых чисел n #11
M128K145, а почему у вас выводит сообщение какое кол-во нулей и не выводит ни одного значения факториала?

Добавлено через 3 минуты
Во всех предыдущих программах выводились значения факториала, в случае больших чисел округленные, но значения, а в вашей программе только количество нулей??????
M128K145
Эксперт С++
8283 / 3502 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
12.01.2011, 22:39     Написать программу, которая вычисляет факториал неотрицательных целых чисел n #12
isaak, а вы посмотрите созданный файлик factorial.txt возле екзешника
Потому как консоль все равно не выведет все 450K цифр(для 100K!), да и вывод будет очень долгим, поэтому я вывел все в файл. Посмотрите на код метода
C++
1
void WriteFactorial(int);
isaak
102 / 39 / 9
Регистрация: 17.10.2010
Сообщений: 656
12.01.2011, 23:11     Написать программу, которая вычисляет факториал неотрицательных целых чисел n #13
M128K145 извиняюсь не заметил строку
C++
1
  std::ofstream out("factorial.txt", std::ios::out);
- результаты программы сохраняются в текстовый файл спасибо огромное
svetlanaZ
0 / 0 / 0
Регистрация: 17.01.2014
Сообщений: 2
20.01.2014, 00:28     Написать программу, которая вычисляет факториал неотрицательных целых чисел n #14
Ребята,а можете мне объяснить,что оно обозначает:
Код C++
//Через цикл while или do while

#include <iostream>
using namespace std;
void main(){
int n=0;
cout<<"Enter - ";
int a;
cin>>a;
while(n<a){
n++;
cout<<n;
}
и почему оно именно так!?Где здесь как по формуле вычисления факториала?
S_el
2092 / 1599 / 306
Регистрация: 15.12.2013
Сообщений: 6,420
20.01.2014, 02:58     Написать программу, которая вычисляет факториал неотрицательных целых чисел n #15
Цитата Сообщение от svetlanaZ Посмотреть сообщение
и почему оно именно так!?Где здесь как по формуле вычисления факториала?
Вы код выложили не полностью,и в этом цикле факториал не вычисляется.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2014, 22:07     Написать программу, которая вычисляет факториал неотрицательных целых чисел n
Еще ссылки по теме:
Разработать программу, которая вычисляет факториал и состоит из функций C++
Написать программу, которая вычисляет среднее арифметическое последовательности дробных чисел C++
. Составить программу, которая вычисляет факториал числа n, введенного с клавиатуры C++
Написать программу, которая вычисляет сумму квадратов всех четных чисел до заданного n C++
C++ Написать программу которая вычисляет сумму первых 3-х положительных чисел из любых 20 введены пользователем...

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

Или воспользуйтесь поиском по форуму:
svetlanaZ
0 / 0 / 0
Регистрация: 17.01.2014
Сообщений: 2
20.01.2014, 22:07     Написать программу, которая вычисляет факториал неотрицательных целых чисел n #16
А как его сделать полностью?Объясните пожалуйста,а то я с этим столкнулась,но до конца не понимаю.....
Yandex
Объявления
20.01.2014, 22:07     Написать программу, которая вычисляет факториал неотрицательных целых чисел n
Ответ Создать тему
Опции темы

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