问题描述
  给定n和len,输出n!末尾len位。
输入格式
  一行两个正整数n和len。
输出格式
  一行一个字符串,表示答案。长度不足用前置零补全。
样例输入
6 5
样例输出
00720
数据规模和约定
  n<=30, len<=10。

#include<iostream>
#include<stdlib.h>
using namespace std;

int main()
{
	int n,len,i,j,num[100],t=0;
	cin>>n>>len;
	//char a[100];
	for(i=1;i<=len;i++)
	num[i]=0;
	num[1]=1; 
	for(i=2;i<=n;i++)
	{
		t=0;
		for(j=1;j<=len;j++)
		{
			num[j]=num[j]*i+t;
			t=num[j]/10;
			num[j]=num[j]%10;
		}
	}
	for(i=len;i>=1;i--)
		cout<<num[i];
	system("pause");
	return 0;
}
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐