Tìm số nguyên tố
Tìm số nguyên tố thôi nào. Thầy giáo ra đề cho các bạn sinh viên khá là khó khăn. Thầy muốn các bạn tìm ra các số nguyên tố trọng đoạn từ a đến b nhưng mà thầy lại muốn có n đoạn được tìm chứ không phải là chỉ 1 đoạn.
Lưu ý: lấy cả giá trị ở 2 đầu mút.
Input:
Dòng đầu tiên là số tự nhiên n (0 <= n < 100)
N dòng tiếp theo là 2 số tự nhiên a, b (0 <= a < b <= 10 ^ 6)
Output:
Dãy các số nguyên tố trong đoạn a, b theo từng dòng.
Input:
3
2 5
1 9
10 50
Output:
2 3 5
2 3 5 7
11 13 17 19 23 29 31 37 41 43 47
Comments
đề sai số 1 ko phải snt
include <iostream>
include <cmath>
using namespace std;
int main() { int c[46] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199};
}
include<stdio.h>
include<math.h>
int checknt(int a){ if(a == 1) return 0; if(a == 2 || a == 3) return 1; else{ for(int i = 2; i <= sqrt(a);i++ ){ if(a % i == 0){ return 0; exit; } } } return 1; } int main(){ int n,a,b; scanf("%d", &n); for(int i = 1;i <= n; i++){ scanf("%d%d", &a, &b); for(int j = a; j <= b; j++){ if(checknt(j) == 1) printf("%d ", j); } printf("\n"); } return 0; } Tại sao code của em bị sai v ạ
quá thời gian thì phải tối ưu code đó lại thử để giảm độ phức tạp thuật toán xuống.
tại sao code của mình đến testcase #8 với #9 bị TLE nhỉ :(
import java.util.Scanner;
public class Main {
}
Số 1 bình thường không là số nguyên tố cũng không là hợp số. Trong bài này tác giả coi 1 là số nguyên tố
fix lại test mà chưa fix lại đề :<