社区讨论

关于数组的定义

P3811【模板】模意义下的乘法逆元参与者 5已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@mibge9mp
此快照首次捕获于
2025/11/23 16:25
4 个月前
此快照最后确认于
2025/11/23 17:34
4 个月前
查看原帖
为什么代码里inv数组初始化不能像这样写在main外面一定要在函数里定义inv[1]=1
CE: https://www.luogu.com.cn/record/249118819
CPP
#include<bits/stdc++.h>
#define int long long
#define rd() read()
#define wt write
#define pc putchar
using namespace std;
namespace IO{
	inline int read(){
		int x=0,f=1;
		char c=getchar();
		while(c<'0'||c>'9'){
			if(c=='-'){
				f=-1;
			}
			c=getchar();
		}
		while(c>='0'&&c<='9'){
			x=(x<<1)+(x<<3)+(c^48);
			c=getchar();
		}
		return x*f;
	}
	inline void write(int x){
		if(x<0){
			x=-x;
			putchar('-');
		}
		if(x>9){
			write(x/10),putchar(x%10+'0');
		}
		else{
			putchar(x+'0');
		}
		return ;
	}
}
using namespace IO;
namespace Main{
	const int N=3e6+7;
	int n,m;
	int inv[N]={0,1};
	inline void main(){
		n=rd(),m=rd();
		for(int i=2;i<m;i++){
			inv[i]=(m-m/i)%m*inv[m%i]%m;
		}
		for(int i=1;i<=n;i++){
			wt(inv[i]),pc('\n');
		}
		return ;
	}
}
signed main(){
	Main::main();
	return 0;
}

回复

6 条回复,欢迎继续交流。

正在加载回复...