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

Вывести факториал числа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создание нормальной кодировки http://www.cyberforum.ru/cpp-beginners/thread329443.html
Сейчас изучаю тему строк и написал вот такую легкую программу #include <iostream> #include <string> using namespace std; /////////////////////////////////////////////////////////// int main ( ) {setlocale(LC_ALL,"Rus"); string s1; getline(cin,s1);
C++ Отсортировать введенные числа по возрастанию и по убыванию Здраствуйте. Задание Пользователь вводит 10 чисел, отсортировать и вывести на экран по возрастанию и по убыванию Спасибо. http://www.cyberforum.ru/cpp-beginners/thread329441.html
Файлы и работа со троками C++
Здравствуйте вот пишу такую программу которая б: 1 выводила с первого файла во второй те строки где больше 2 слов 2 находила слово где найменьшее количество гласных #include <iostream> #include <fstream> #include <string> #include <sstream> #include <vcl.h> #pragma hdrstop
C++ Цыкл (звездочки)
Здраствуйте. Мне задали задание нарисовать с помощью цыклов вот такую штуку ***** **** *** * *** ****
C++ Нужно расставить между числами знаки + или - таким образом, чтобы получилось выражение, значение которого равно s и вывести его на экран http://www.cyberforum.ru/cpp-beginners/thread329431.html
Доброго времени суток Задание: дано n чисел и число s. Нужно расставить между числами знаки + или - таким образом, чтобы получилось выражение, значение которого равно s и вывести его на экран. Если это невозможно - вывести "No solution". Полное условие тут. Пример: input.txt: 3 10 (n = 3) 15 25 30 output.txt: 15+25-30=10 Рекурсию под эту задачу я вроде как сделал, считает различные суммы,...
C++ даление строки и столбца Помогите решить задачу: Дана прямоугольная целочисленная матрица. Удалить строку и столбец матрицы, на пересечении которых находится максимальный элемент. подробнее

Показать сообщение отдельно
KING1994
-68 / 6 / 0
Регистрация: 18.07.2011
Сообщений: 77
05.09.2011, 21:16     Вывести факториал числа
Вот мое решение факториалов)немного дольше,но тут использован старый добрый алгоритм таблички умножения))
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
// fact1.cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
#include<conio.h>
using namespace std;
long int vvid,m[1000000],n[1000000],h[1000000],q[1000000],sum,sum1,ost,ost1;int i,j=0,x,y,z,k=0,v,L,b,K,k1,w,c=0,r=0;
int main()
{
    cin>>vvid;
    m[999999]=1;n[999999]=1;j=999999;z=999999;h[999999]=0;b=j;
for(i=2,y=j;i<=vvid;i++)   
{
    y=j;z=j;v=j;L=j;b=j;w=j;K=j;
    if(i<=10)
       {
        do{m[z]*=i;z--;}while(z>=0);
            do 
            {
            if(m[y]>=10)
            {ost=m[y]%10;m[y]-=ost;m[y]/=10;m[y-1]+=m[y];m[y]=ost;}y--;
            }while(y>=0);
       }
     else if(i>=11)
         { 
            sum=i;
             sum=i;ost1=sum%10;sum1=(sum-ost1)/10;k=0;r=0;
            do{n[z]=m[z];n[z]*=ost1;z--;}while(z>=0);
            do 
            {
            if(n[y]>=10)
            {ost=n[y]%10;n[y]-=ost;n[y]/=10;n[y-1]+=n[y];n[y]=ost;}y--;
            }while(y>=0);
            do{h[b-1]=m[b];h[b]*=sum1;b--;}while(b>=0);
            do 
            {
            if(h[v]>=10)
            {ost=h[v]%10;h[v]-=ost;h[v]/=10;h[v-1]+=h[v];h[v]=ost;}v--;
            }while(v>=0);   
            do{q[w]=n[w]+h[w];m[w]=q[w];w--;}while(w>=0);
            do 
            {   
            if(m[K]>=10)
             {ost=m[K]%10;m[K]-=ost;m[K]/=10;m[K-1]+=m[K];m[K]=ost;}K--;
             }while(K>=0);
             
        }
}
while(m[c]==0)c++;
    cout<<endl;
    if(vvid>=11)
    {for(k1=c;k1<=j;k1++)
    cout<<m[k1];
    cout<<endl;}
    else if(vvid<=10)
        for(k1=c;k1<=j;k1++)cout<<m[k1];
    getch();
    return 0;
}
Добавлено через 43 секунды
вернее умножение в столбец.щитает 10000!за 5 мин гдето.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru