CF327B 数学

链接: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;
}
究竟是我抛弃了历史,还是历史遗弃了我。
原文地址:https://www.cnblogs.com/54zyq/p/3201276.html