Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 06.01.2017
Сообщений: 21

Умножить факториал сам на себя 1000000 раз

07.02.2017, 03:16. Показов 4758. Ответов 31

Студворк — интернет-сервис помощи студентам
Нужно умножить факториал сам на себя 1 000 000 раз. Попытался сделать 2 файла, где 1й это вычисление факториала к примеру 5 а второй возвести это все в степень, но выбило ошибку: main функция перегружена. Может есть очень простой способ чтоб это сделать

Вот вычисление факториала 5

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
 
long long Factor(int n)
{
    if ((n == 1) || (n == 0))
        return 1;
    else
        return (n * Factor(n - 1));
}
 
int main(int argc, char * argv[])
{
    std::cout << Factor(5) << std::endl;
    return 0;
}
Попытка возмести в степень
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
#include <iostream>
#include "stdafx.h"
#include "Cons.h"
#include <iostream>
 
using namespace std;
 
int main(int Factor)
{
    cout << "Enter a number and degree: ";
 
    int degree;
    cin >> Factor >> degree;
 
    double result = 1;
    int i = 0;
    while (i < degree)
    {
        result *= Factor;
        i++;
    }
    cout << "\nresult: " << result;
 
    system("PAUSE");
    return 0;
Добавлено через 40 минут
Попытался что то сделать
Получилось так:
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
31
32
33
34
35
36
#include "stdafx.h"
#include <stdio.h>
#include <iostream>
#include <math.h>
#include <conio.h>
 
using namespace std;
long long Factor(int n)
{
    if ((n == 1) || (n == 0))
        return 1;
    else
        return (n * Factor(n - 1));
}
 
int main(int argc, char * argv[])
{
    std::cout << Factor(5) << std::endl;
 
    return 0;
}
 
int w() {
    setlocale(LC_ALL, "RUS");
    long double a, n, rezult = 1, i;
    cout << Factor;
    cin >> a;
    cout << endl << "Введите стень числа: ";
    cin >> n;
    for (i = 0; i<n; i++)
        rezult *= a;
    
    printf(" %.0Lf", a);
 
    return 0;
}
Но не выводит на экран не знаю почему, возведение в степень надо через цикл без использования pow
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.02.2017, 03:16
Ответы с готовыми решениями:

Как умножить массив сам на себя?
int a= new int ... for(int i=0; i&lt;a.lenght; i++){ sum=a*a; &lt;--- как перемножить масив с i+1 чтоб не выдавало...

Как создать ZIP-архив, который распаковывается сам в себя много раз?
Как можно сделать на python ZIP-архив, который распаковывается сам в себя много раз? Спасибо.

Как сделать так, чтобы bat-файл копировал сам себя в папку N-ное количество раз?
Добрый день! Как сделать так чтобы bat файл копировал сам себя в папку N колличество раз?

31
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
08.02.2017, 14:45
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от shmkv Посмотреть сообщение
правильную длинную арифметику с использованием всех битов элемента массива (а не log2(10) для хранения десятичного разряда)
Что это значит? Что значит бит массива и что эта за формула log2(10)?
Цитата Сообщение от Байт Посмотреть сообщение
Я обычно для длинной арифметики использую 32768-ичкую (или 65536-ичную) систему счисления. На каждый разрядик - short int (2 байта). А умножение разрядов можно производить в long (4 байта)
Правда потом сложновато переводить в десятичную (я перевожу в 1000-ичную), но это проблема разрешима.
Можете пожалуйста поподробнее об этом рассказать или написать код, уж больно хочется довести задачку до конца
Цитата Сообщение от Байт Посмотреть сообщение
Для скорости всякую буферизацию придумывать
Что такое буферизация и как она может ускорять что-либо?
0
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
08.02.2017, 15:34
Цитата Сообщение от no swear Посмотреть сообщение
Что это значит? Что значит бит массива и что эта за формула log2(10)?
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
08.02.2017, 17:07
no swear, вопросы хорошие. По каждому можно маленькую лекцию прочитать. Будет время и настроение - попробую ответить в общих чертах
0
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
08.02.2017, 19:16
Заранее благодарю вас
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
08.02.2017, 21:30
no swear, Мне трудно что-то говорить, т.к. не знаю твоего уровня, не знаю, что тебе известно, а что - нет.
Но системы счисления - это ты должен знать, как основу для разговора.
Давай вот что. Я нашел в своих архивах маленькую библиотечку для работы с длинными числами. Посмотри, может быть что-то поймешь. Там же есть пример ее использования для вычисления награды изобретателю шахмат. На 1-ю клетку 1 зерно, на 2-ю - 2, 3-ю - 4, 4-ю - 8 и так далее до 64.
Библиотека не полна (нет, например, умножения двух длинных) но данную задачу решает.
Сделана на чистом Си. Использование Плюсов сделало бы ее покороче, вместо структуры XXL можно было было бы использовать <vector>. Собственно, XXL и есть эмуляция вектора на чистом Си.
Вложения
Тип файла: zip CHESS.ZIP (3.4 Кб, 16 просмотров)
0
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
09.02.2017, 18:35
Ну и КОДИЩЕ! Я в этом коде неделю буду разбираться но всё равно спасибо.
Цитата Сообщение от Байт Посмотреть сообщение
Мне трудно что-то говорить, т.к. не знаю твоего уровня, не знаю, что тебе известно, а что - нет.
Поверьте я не эксперт C++, я где-то чуть ниже среднего уровня (по моему).
0
09.02.2017, 18:59

Не по теме:

Цитата Сообщение от no swear Посмотреть сообщение
я где-то чуть ниже среднего уровня
Ахах, наивный.
Если вы такой маленький код не можете разобрать за 15 минут(он даже с комментариями), то ни о каком даже приближенном среднем уровне речи идти не может. ИМХО.

0
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
09.02.2017, 20:04
Наверное вы уже разобрались как работает данный код, если да то не могли бы вы, как профессионал, объяснить такому новичку как мне этот код буквально в двух словах чтобы я понял?
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
09.02.2017, 20:19
Цитата Сообщение от no swear Посмотреть сообщение
объяснить такому новичку как мне этот код буквально в двух словах чтобы я понял?
«Если вы что-то не можете объяснить 6-летнему ребёнку, вы сами этого не понимаете. (Если вы не можете объяснить это простыми словами, вы не до конца это понимаете.)»
―Альберт Эйнштейн
...
0
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
09.02.2017, 21:17
Цитата Сообщение от GbaLog- Посмотреть сообщение
Ахах, наивный.
Если вы такой маленький код не можете разобрать за 15 минут(он даже с комментариями), то ни о каком даже приближенном среднем уровне речи идти не может. ИМХО.
А мое имхо вашему совершенно противоположно. Человек же старается! И я просто вижу - пост от поста - прогресс. И ведь пытается же разобрать. И у меня такое ощущение, что в наличии имеется въедливость - ценнейшее качество начинающего.
А оценка уровня... Ну, это вещь случайная. Зависит от многого, в том числе и от окружения. Если бы он жил и столовался в кампусах Кремниевой Долины, тогда его средний уровень на несколько вершков был бы выше многого... Он бы тогда на этот простенький кодик и смотреть бы не стал. Но мне кажется, что от этой долины он далеко. Да скорее всего и от других, насыщенных гениальными программистами, мест.
Так что можно только пожелать ему терпения и удачи.

Добавлено через 3 минуты
no swear, В добавок, лично вам - песенка Булата Окуджавы
Но ничего, ничего, что всегда, как известно,
Наша судьба - то гульба, то пальба,
Не оставляйте стараний, Маэстро,
Не убирайте ладони со лба!
Добавлено через 26 минут
Цитата Сообщение от no swear Посмотреть сообщение
Поверьте я не эксперт
Это я вижу
В данный момент меня интересует, что вы знаете про системы счисления (Десятичная, Двоичная, 16-ичная, 1234-ичная, смешанная, факториальная...) и насколько свободно ориентируетесь в этой тематике.
В литературе (Кнут, например) эти вопросы достаточно освещены.

Добавлено через 10 минут

Не по теме:

Цитата Сообщение от Байт Посмотреть сообщение
насыщенных гениальными программистами
Прошу прощения, но мне пришло в голову продолжение этой фразы. Это называется - "ум на лестнице". Но удержаться не могу
"Насыщенных гениями так, что они уже выпадают в осадок":D

3
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
10.02.2017, 05:44
Цитата Сообщение от no swear Посмотреть сообщение
Наверное вы уже разобрались как работает данный код
Я не разбирался в нём, я посмотрел его сложность и кол-во.
Цитата Сообщение от no swear Посмотреть сообщение
как профессионал
Я никакой не профессионал, я сам новичок ещё, причём совсем зеленый.
Цитата Сообщение от Байт Посмотреть сообщение
Человек же старается! И я просто вижу - пост от поста - прогресс.
Да я не спорю, но говорить о каком-то среднем уровне тут пока что рановато, хоть и старается человек. Я же не говорил, что он дебил или неумеха, я просто высказал своё мнение на счёт его уровня. Хотя, все эти уровни - вещь сугубо субъективная и опираться на них не стоит. Любой эксперт может ошибиться в самой простой вещи.
0
1 / 1 / 0
Регистрация: 06.01.2017
Сообщений: 21
15.02.2017, 13:01  [ТС]
Всем спасибо за ответы, много чему новому научился
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.02.2017, 13:01

Выписаны все натуральные числа от 1 до 1000000. Сколько раз выписана цифра 1
Выписаны все натуральные числа от 1 до 1000000. Сколько раз выписана цифра 1.

Умножить матрицу на себя транспонированую
Буду краток: необходимо Умножить матрицу на себя транспонированую!!!(без хранения транспонированной) Как в вышмате это сделать я понимаю, а...

Умножить матрицу на себя транспонированую
Буду краток: необходимо Умножить матрицу на себя транспонированую!!!(без хранения транспонированной) Как в вышмате это сделать я понимаю, а...

Какова вероятность, что за 1000000 вращений все 37 секторов выпадут в порядке возрастания хотя бы 1 раз?
Есть рулетка, разделенная на 37 секторов от 0 до 36 с равновероятным выпадением. Вращаем её 1000000 раз, какова вероятность, что за 1000000...

Как умножить матрицу на саму себя
Как умножить матрицу MxN на саму себя, то есть возвести ее во вторую степень? Помогите пожалуйста написать шаблон в c#


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

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru