ARC198A

由于相邻两个正整数 \(n,n+1\)\(1\) 除外)用后者除以前者得到的余数一定为 \(1\)\(S\) 中不存在两个相邻的正整数。又 \(1\) 除以任何其它正整数的余数都为 \(1\),故 \(1 \notin S\)。一个简单的构造方法是把所有不超过 \(n\) 的偶数放入 \(S\),这样做可以使余数一定为偶数,且个数尽可能的多,满足题意。注意特判 \(n=1\)

#include<iostream>
#include<cstdio>
using namespace std;
int n;
int main(){
	cin>>n;
	if(n==1){
		cout<<1<<'\n'<<1;
		return 0;
	}
	cout<<n/2<<'\n';
	for(int i=2;i<=n;i+=2)	
		cout<<i<<' ';
	return 0;
}
posted @ 2025-09-12 08:08  FormulaOne  阅读(7)  评论(0)    收藏  举报