这个题当初想了很久,一直wa,后来吃饭的时候忽然灵机一现想出来一个方法,很有成就感。不必考虑去重排序这些问题了,简单、明了。嘿嘿
题目地址点击打开链接;
#include<stdio.h> #include<string.h> #define MAXN 1000 + 10 int a[MAXN]; int main() { int i, j, n, k; memset(a, 0, sizeof(a)); scanf("%d%d", &n, &k); for(i = 1; i <= k; i++) for(j = 1; j <= n; j++) if(j % i == 0) a[j] = !a[j]; for(i = 1; i <= n; i++) if(a[i]) printf("%d ", i); printf("\n"); return 0; }