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;
}

浙公网安备 33010602011771号