【发布时间】:2019-09-23 18:20:44
【问题描述】:
我是 CodeChef 的新手,我正在用 C 语言解决初学者部分。我为问题写了代码=>
你被要求计算一些小的正整数的阶乘。
输入
一个整数 t,1
输出
对于输入时给定的每个整数 n,显示值为 n 的一行!
我得到了正确的输出,但我的代码没有被接受。请帮忙。
#include <stdio.h>
void fact(int x) {
int temp = 1;
if(x<=1) {
printf("%d\n", x);
} else {
for (int i=1; i<=x; i++) {
temp *= i;
}
printf("%d\n", temp);
}
}
int main(void) {
int n;
int t;
scanf("%d", &t);
if(t>=1 && t<=100) {
while(t--) {
scanf("%d", &n);
if (n>=1 && n<=100) {
fact(n);
}
}
}
return 0;
}
样本输入:
4
1
2
5
3
样本输出:
1
2
120
6
【问题讨论】:
-
你试过
100!吗?你知道结果应该是什么吗? -
我想知道这是一个初学者练习,因为它无法用标准数据类型解决。
-
您最多只能达到 12 个!使用
int和 20!使用long long int。 -
@Jabberwocky OP 任务中的条件是:
1<=n<=100所以值为 0!没关系-但是,作为剧透,0!是一个非零的正整数,小于 2。 -
@WeatherVane 这是一个很好的问题,因为 C 标准没有指定浮点类型属性。
标签: c