为啥总超时?

回复帖子

@Flash_plus 2018-11-30 21:54 回复

include <bits/stdc++.h>

using namespace std;

int prime(int n) { if(n == 1) return 0; for (int i = 2; i < n; ++ i) if (n % i == 0) return 0; return 1; }

int main() { int m, n, t; scanf("%d",&t); while (t --) { scanf("%d%d",&m,&n); for (int i = m; i <= n; ++ i) { if(prime(i)) printf("%d\n",i); } printf("\n"); } return 0; }

@StudyingFather  2018-11-30 21:58 回复 举报

因为你判断质数的复杂度是 $ O(n) $ 的啊,总时间复杂度就是 $ O(n^2) $ ,怎么可能AC

@LinkinPony 2018-12-01 07:56 回复 举报
1 <= m <= n <= 1000000000

这个数据范围你这个做法肯定要T……

希望更丰富的展现?使用Markdown

反馈
如果你认为某个帖子有问题,欢迎向洛谷反馈,以帮助更多的同学。



请具体说明理由,以增加反馈的可信度。