蓝桥杯ACM简单题-阶乘
1.问题描述
用户输入一个数据,程序输出其阶乘结果。
2.算法分析
利用循环将数据依次乘以原数据,需要注意长度问题。
3.输入格式
输入包含一个正整数n,n<=1000。
4.输出格式
输出n!的准确值。
5.样例输入
10
6.样例输出
4037913
#include <stdio.h>
int main()
{
int s=0;
int s1=1;
int count,flag;
scanf("%u",&flag); //用户输入数据
count=flag;
while(flag!=0) //用于判断是否结束循环
{
count=flag; //每次将本数存入count,用于后面的阶乘
while(count!=0)
{
s1=s1*count; //将每次的数乘以前面的数并存入s1
count--;
}
s+=s1; //将结果存入s,并进行准备下一次阶乘
s1=1;
flag--;
}
printf("%u",s); //输出结果
return 0;
}