链接:http://codeforces.com/problemset/problem/327/B
题意:输出n个数,满足:升序排列,后面的任意一个数不能被前面的数整除。
思路:输出n,n+1,n+2...n+n-1即可。一开始想的很复杂,原来这么做就可以了。数学真是个奇妙的东西。由于要求后面的数不能被前面的数整除,n的最小倍数是2n(除了一倍),在n到2n-1的闭区间内就有n个数,且是满足条件的。
#include<iostream> #include<cstdio> using namespace std; int main() { int n; while(~scanf("%d",&n)) { for(int i=0;i<n;i++) printf("%d ",n+i); printf(" "); } return 0; }