|
发表于 2020-11-23 14:55:36
|
显示全部楼层
本楼为最佳答案
顺便再测测这个:
- #include <stdio.h>
- int prime(int n)
- {
- int c , d[4] = {2 , 4 , 2 , 2} , f = 0 , k ;
- if(n > 1) {
- if(n < 127) {
- for(f = 1 , k = 2 ; k * k < n + 1 ; k += 1) {
- if(k < n && ! (n % k)) {
- f = 0 ;
- break ;
- }
- }
- } else {
- if(n % 2 && n % 3 && n % 5 && n % 7) {
- for(c = 0 , f = 1 , k = 11 ; k * k < n + 1 ; k += d[c % 4] , c ++) {
- if(k < n && ! (n % k)) {
- f = 0 ;
- break ;
- }
- }
- }
- }
- }
- return f ;
- }
- int main(void)
- {
- int n ;
- scanf("%d" , & n) ;
- if(prime(n)) printf("Yes\n") ;
- else printf("No.\n") ;
- }
复制代码 |
|