注册 登录
编程论坛 C++教室

【入门】编程求1*2*3*...*n 求答案

浩宇之轩 发布于 2022-04-10 15:29, 2954 次点击
【入门】编程求1*2*3*...*n
求答案
6 回复
#2
rjsp2022-04-10 18:35
题目不说清,别人就无法回答。
n是否允许非整数我就不说了,起码你要告诉别人n最大的取值是多少吧,否则你让别人用什么类型才存储?

程序代码:
#include <iostream>
#include <cmath>

int main( void )
{
    unsigned n = 5;
    std::cout << n << "! = " << std::tgamma(n+1) << '\n';

    long double m = 5.2;
    std::cout << m << "! = " << std::tgamma(m+1) << '\n';
}

输出
5! = 120
5.2! = 169.406


程序代码:
#include <iostream>

unsigned long long foo( unsigned n )
{
    unsigned long long result = 1;
    for( ; n!=0; --n )
        result *= n;
    return result;
}

int main( void )
{
    unsigned n = 5;
    std::cout << n << "! = " << foo(n) << '\n';
}

输出
5! = 120
#3
YH_21_LIU2022-04-26 18:16
回复 2楼 rjsp
为啥一定要写std::cout
一句using namespace std;不就完事了吗
#include <iostream>
using namespace std;
int main()
{
    return 0;
}
(中间省略部分代码)
#4
eric20122022-08-16 21:57
#include<iostream>
using namespace std;
int main(){
    int n,i,h=2;
    cin>>n;
    for(i=3;i<=n;i++){
        h=h*i;
}
    cout<<h;
    return 0;
}  
#5
md000000002022-08-18 11:37
一种递归,一种循环
#6
追梦人zmrghy2022-09-03 20:22
C语言,递归。。。。
入门级问题。
开始讲递归时,都是用的求阶乘的例子来讲的。
百度 视频 搜索“C语言递归”网上有很多,很详细。。。
#7
op1232022-09-04 17:52
回复 6楼 追梦人zmrghy
拜托,这是C++教室,搜C++递归
1