Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / -1 / 0
Регистрация: 28.08.2014
Сообщений: 84
1

Правильно ли написан хедер, решающий факториал

17.09.2014, 18:14. Показов 537. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
int fact(int factb)
{
int facta=1;
int factc=1;
while(factc<1000000)
{
if(factb==0)
   {
   factc=1;
   break;
   }
facta++;
factc=factc*facta;
  
  if(facta==factb)
   {
   break;
   }
}
 
return(factc);
}
Начинаю програмировать, поставил для себя задачу написать хедер решающий факториал.Вопрос, сильно ли набыдлокодил? И как создать большую переменную для факториала.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.09.2014, 18:14
Ответы с готовыми решениями:

Правильно ли написан код?
Здравствуйте. Вношу кое-какие изменения в сайт. Решил не обращаться к программисту, сделать...

Правильно ли написан деструктор?
Вопрос, правильно ли я написал деструктор. Должно удалить переменную из памяти CAR И ссылку НА CDR,...

Правильно ли написан запрос?
Задание: Определить штаты (кроме штатов Индиана, Канзас, Юта), в которых сумма цен выпущенных в них...

правильно ли написан код в с++?
#include &lt;iostream&gt; #include &lt;map&gt; #include &lt;fstream&gt; using namespace std; int main() { ...

4
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
17.09.2014, 18:25 2
MyOnAsSalat,
C
1
2
3
4
5
6
7
8
9
10
11
12
13
unsigned long long factorial(int n)
{
    unsigned long long f;
    if (n < 0) return 0; // факториал не бывает нулем, поэтому как проверка на отрицательное значение сойдет
    if (n < 2) return 1;
    f = 2;
    while (n > 2)
    {
        f *= n;
        --n;
    }
    return f;
}
0
0 / -1 / 0
Регистрация: 28.08.2014
Сообщений: 84
17.09.2014, 18:39  [ТС] 3
разве факториал от нуля не 1?
0
Эксперт PHP
3106 / 2591 / 1219
Регистрация: 14.05.2014
Сообщений: 7,236
Записей в блоге: 1
17.09.2014, 18:45 4
Цитата Сообщение от MyOnAsSalat Посмотреть сообщение
разве факториал от нуля не 1?
Так и есть. 0 выводится, если число отрицательное; 1 - если число 0 или 1; в остальных случаях собственно факториал. Проверьте функцию
0
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
21.09.2014, 04:13 5
Цитата Сообщение от MyOnAsSalat Посмотреть сообщение
написать хедер решающий факториал
Так нельзя. В head file можно размещать только прототипы, структуры/объединения, именованные константы, макросы. Вроде ничего не забыл. Делается это следующим образом:
factorial.c
C
1
2
3
4
return_type factorial(very_long_type variable) {
    ...
    return something;
}
factorial.h
C
1
2
3
4
5
6
7
8
9
#ifndef FACTORIAL_H
#define FACTORIAL_H
 
typedef return_type unsigned char *;
typedef very_long_type return_type;
 
return_type factorial (very_long_type);
 
#endif
main.c
C
1
2
3
4
5
6
7
#include "factorial.h"
int
main(int argc, char ** argv)
{
    ...
    return 0;
}
Цитата Сообщение от MyOnAsSalat Посмотреть сообщение
Вопрос, сильно ли набыдлокодил?
Да. Факториалы, которые вмещаются в 4/8 байт никого не интересуют. Есть еще научные статьи на тему оптимизации алгоритмов вычисления факториала. То же касается и простых чисел, чисел Фибоначчи и т.д.
Цитата Сообщение от MyOnAsSalat Посмотреть сообщение
И как создать большую переменную для факториала.
Массивы беззнаковых байт. А так же реализовать для них функции умножения на числа разных типов. Продумать выделение и освобождение памяти.
0
21.09.2014, 04:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.09.2014, 04:13
Помогаю со студенческими работами здесь

Правильно ли написан триггер?
Create trigger T1 ON Список_Процедур Instead of insert as Insert into Список_Процедур select...

Правильно ли написан код
Извините, подправьте плиз, всем заранее огромное спасибо #include&lt;iostream.h&gt;...

Правильно ли написан код?!
Нахождение факториала: model small .stack 100h .data N DW 1121h digit DW ? .code...

Правильно ли написан код
Построить график z = f(W, L) по схеме, нарисованной на вложении. Формула Z=R+jX X=wL=2пf*L ...

Правильно ли написан robots.txt?
User-agent: * Disallow: /admin/, гугол говорит, что заблокировано 0 страниц.

Правильно ли написан класс DigitalTimeException
Помогите пожалуйста, с созданием класса. Необходимон аписать класс - DigitalTimeException со...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru