CF1326A

因为 (1le nle 100000),所以直接用变量来存储 (s) 显然是不可行的。

我们来从数学方面来考虑一下这个问题。既然构造的数 (s)

  • 大于 (0)

  • (n)

  • 任何一个数位上的数都不能为 (0)

  • 不能被任何一个数位上的数整除

所以我们很快能想到一种滑稽的构造方式:当 (n=1) 时,无法构造出 (s),输出-1;否则,(s) 的最高位为 (2),其余数位皆为 (3)。显然,这样构造出来的 (s) 是正确的。

Code:

int main() {
	int t;cin>>t;
	while (t--) {
		int n;cin>>n;
		if (n==1) {cout<<"-1
";continue;}
		cout<<2;
		for (int i=1;i<n;i++) cout<<3;
		putchar('
');
	}
	return 0;
}
原文地址:https://www.cnblogs.com/Xray-luogu/p/12574887.html