求助大佬,P1591 阶乘数码,参照题解写的代码一直WA
  • 板块题目总版
  • 楼主hope_12
  • 当前回复2
  • 已保存回复2
  • 发布时间2021/11/10 17:37
  • 上次更新2023/11/4 00:57:44
查看原帖
求助大佬,P1591 阶乘数码,参照题解写的代码一直WA
419170
hope_12楼主2021/11/10 17:37
#include<iostream>
#include<cstring>
using namespace std;
int t,n,a;
int i,j,k,p;
int c[100000];//用来存储n!的结果 
int main( ){ 
    cin>>t;
    while(t--){
    memset(c,0,sizeof(c));
	cin>>n>>a;
    c[0]=1;
    int len=1;//l 代表位数 
    for(i=2;i<=n;i++){
      int x=0;//x存放进位	
      for(j=0;j<len;j++)//高精度*单精度 
	    {  c[j]=c[j]*i+x;//计算阶乘 
		   x=c[j]/10;//进位计算 
	       c[j]%=10;//当前位置的值  
        } 
		while(x>0)//还有进位的情况 
		{
		   c[len]=x%10;
		   len++; 
		   x/=10;
		}     
     } 
    int cnt=0;//计数 
    for(k=0;k<len;k++){
    	if(c[k]==a)cnt++; //统计数组中数码a的个数;
        }
    cout<<cnt;
    }
    return 0;
}
2021/11/10 17:37
加载中...