想问问不能用二维数组吗
  • 板块P1591 阶乘数码
  • 楼主Sxu520
  • 当前回复2
  • 已保存回复3
  • 发布时间2024/9/20 15:27
  • 上次更新2024/9/20 18:33:57
查看原帖
想问问不能用二维数组吗
873151
Sxu520楼主2024/9/20 15:27

想问问是不能用二维数组吗 像这样写全WA了

#include<bits/stdc++.h>
using namespace std;

int len(int a[][3050],int i){
	int j=3000;
	for(j=3000;j>=0;j--){
		if(a[i][j]!=0)
		break;
	}
	return j;
}

int main(){
	int n;
	cin>>n;
	int a[15][3050]={0};
	for(int i=0;i<n;i++){
		cin>>a[i][0]>>a[i][1];
		a[i][3]=1;
	}                                                 //从a[i][3]开始乘以及存数
													  //a[i][0]存n,a[i][1]存a,a[i][2]存结果 
	for(int i=0;i<n;i++){
		for(int k=2;k<=a[i][0];k++){
			for(int j=3;j<10;j++){
				a[i][j]=a[i][j]*k;
			}                                         //每一位都乘k
			for(int h=3;h<3000;h++){
				a[i][h+1]=a[i][h+1]+a[i][h]/10;
				a[i][h]=a[i][h]%10;
			}                                         //进位
		}
	}
	for(int i=0;i<n;i++){
		for(int j=3;j<=len(a,i);j++){
			if(a[i][j]==a[i][1])
			a[i][2]++;
		}                                             //将结果放到a[i][2]中
		cout<<a[i][2];
		if(i!=n-1)
		cout<<endl;
	}
	return 0;
}
2024/9/20 15:27
加载中...