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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
Bringoff
СуперМодулятор
133 / 132 / 15
Регистрация: 03.11.2012
Сообщений: 974
#1

Количество цифр в факториале - C++

17.02.2013, 18:41. Просмотров 2731. Ответов 10
Метки нет (Все метки)

Найти количество цифр в записи факториала натурального числа N.
Не дружу с длинной арифметикой.
Ограничение - факториал 1000000 за 5 секунд!!! Как это можно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.02.2013, 18:41
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Количество цифр в факториале (C++):

Гипотеза Симона о факториале - C++
Гипотеза Симона о факториале состоит в следующем: только четыре факториала являются произведением трех последовательных целых чисел. Вот...

дано натуральное число N. Определить,во сколько раз произведение цифр числа больше суммы цифр.Найти количество чётных цифр в записи числа!! - C++
дано натуральное число N. Определить,во сколько раз произведение цифр числа больше суммы цифр.Найти количество чётных цифр в записи числа!!...

Пользователь вводит строку. Определить количество букв (рус eng), количество цифр и количество остальных - C++
в чем проблема не пойму работает на английских буквах на цифрах и остальные символы вроде считает а вот русские не хочет их забивает как...

Определить количество цифр в числе n и сумму всех его цифр - C++
Дано натуральное n , определить количество цифр в числе n и сумму всех его цифр. Значение n ввести с клавиатуры. Добавлено через...

Функция вычисляющая количество цифр числа и сумму этих цифр - C++
Не могу найти ошибку. Помогите пожалуйста. Дана последовательность n натуральных чисел. Для каждого числа вычислить количество его цифр и...

Рекурсия: количество цифр в числе, сумма цифр и реверс числа - C++
Вот задание: Написать программу, которая запрашивает у пользователя целое число, на экран выводит сколько цифр в числе, их сумму и...

10
Sigma214
42 / 43 / 9
Регистрация: 01.05.2012
Сообщений: 178
17.02.2013, 19:03 #2
Вроде бы так(точно не уверен):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    int i;
    double n=1;
    for (i=1;i<1000001;i++)
    {
        n=i*i;
        i++;
    }
    cout << "factorial(1000000)= " << n << endl;
    return n;
}
1
Somebody
2798 / 1609 / 149
Регистрация: 03.12.2007
Сообщений: 4,204
Завершенные тесты: 3
17.02.2013, 19:21 #3
http://oeis.org/A034886
C++
1
2
3
4
5
6
7
unsigned f(unsigned n)
{
    const double
        pi = 3.14159265358979323846,
        e = 2.7182818284590452354;
    return std::ceil(std::log10(2 * pi * n) / 2 + n * (std::log10(n / e)));
}
Как оно работает, не знаю. Но работает.
1
Bringoff
СуперМодулятор
133 / 132 / 15
Регистрация: 03.11.2012
Сообщений: 974
17.02.2013, 19:25  [ТС] #4
Цитата Сообщение от Somebody Посмотреть сообщение
Как оно работает, не знаю. Но работает.
Это формула Стирлинга. А количество как сделать? В С++ новичек. Совсем.

Добавлено через 1 минуту
Цитата Сообщение от Sigma214 Посмотреть сообщение
Вроде бы так
Не так...
0
Somebody
2798 / 1609 / 149
Регистрация: 03.12.2007
Сообщений: 4,204
Завершенные тесты: 3
17.02.2013, 19:32 #5
Цитата Сообщение от Izobara Посмотреть сообщение
А количество как сделать?
В смысле "количество"?
0
Bringoff
СуперМодулятор
133 / 132 / 15
Регистрация: 03.11.2012
Сообщений: 974
17.02.2013, 19:39  [ТС] #6
Цитата Сообщение от Somebody Посмотреть сообщение
"количество"?
Количество цифр в факториале.
0
diagon
Higher
1936 / 1202 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
17.02.2013, 19:46 #7
Цитата Сообщение от Izobara Посмотреть сообщение
Количество цифр в факториале.
log10
1
Bringoff
СуперМодулятор
133 / 132 / 15
Регистрация: 03.11.2012
Сообщений: 974
17.02.2013, 19:47  [ТС] #8
Цитата Сообщение от diagon Посмотреть сообщение
log10
Можно по-русски? Точнее, по С++-сски
0
diagon
Higher
1936 / 1202 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
17.02.2013, 19:52 #9
Цитата Сообщение от Izobara Посмотреть сообщение
Можно по-русски? Точнее, по С++-сск
Ну, log10(n) == количество цифр в числе n.
Если по формуле Стирлинга найти факториал, а затем применить к нему log10, то получится примерное число цифр в этом факториале.
Ну и по свойствам логарифмов можно увеличить точность ответа.
1
Somebody
2798 / 1609 / 149
Регистрация: 03.12.2007
Сообщений: 4,204
Завершенные тесты: 3
17.02.2013, 19:52 #10
Так это же и есть формула для количества цифр.
1
Bringoff
СуперМодулятор
133 / 132 / 15
Регистрация: 03.11.2012
Сообщений: 974
17.02.2013, 19:59  [ТС] #11

Работает!!!!
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
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
unsigned f(unsigned n)
{
    const double
        pi = 3.14159265358979323846,
        e = 2.7182818284590452354;
        if (n==1)
        {
            return 1;
        }
        else
        {
            return std::ceil(std::log10(2 * pi * n) / 2 + n * (std::log10(n / e)));
        }
}
int main()
{
    unsigned n;
    cin>>n;
    cout<<f(n);
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2013, 19:59
Привет! Вот еще темы с ответами:

Напишите программу, выводящую на экран количество цифр в этом числе и сумму этих цифр - C++
я начинающий! помогите! мне на екзам! Дано натуральное число а (a&lt;100). Напишите программу, выводящую на экран количество цифр в этом...

С клавиатуры вводится положительное натуральное число. Определить количество цифр в числе (сумму цифр) - C++
С клавиатуры вводится положительное натуральное число. Определить количество цифр в числе (сумму цифр)

Дана последовательность n натуральных чисел. Для каждого числа вычислить количество его цифр и сумму этих цифр. Вывести на экран каждое число, количес - C++
Дана последовательность n натуральных чисел. Для каждого числа вычислить количество его цифр и сумму этих цифр. Вывести на экран каждое...

Создать файл, ввести символы, вывести на экран количество не латинских букв, количество цифр - C++
Есть код к заднию , но он не правильно показывает данные - киррилицу не ищет а латиницу больше выводит... Задание: Создать текстовый...


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

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

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