3 条题解
-
1
#include <stdio.h> #include <math.h> #include <stdbool.h> int primes[1000010]; int cnt = 0; int main() { bool is_prime[1000010]; for (int i = 0; i <= 1000010; i++) { is_prime[i] = true; is_prime[0] = is_prime[1] = false; } for (int i = 2; i <= sqrt(1000010); i++) { if (is_prime[i]) { for (int j = i * i; j <= 1000010; j += i) { is_prime[j] = false; } } } for (int i = 2; i <= 1000010; i++) { if (is_prime[i]) { primes[cnt++] = i; } } int n; scanf("%d", &n); while (n--) { int m,num; scanf("%d", &m); if(m==1){printf("2 1\n");continue;} for(int i=0;i<=1000010;i++){ if(primes[i]<=m&&primes[i+1]>=m){ if(m-primes[i]<=primes[i+1]-m){ num=m-primes[i]; printf("%d %d\n",primes[i],num); } if(m-primes[i]>primes[i+1]-m){ num=primes[i+1]-m; printf("%d %d\n",primes[i+1],num); } break; } } } return 0; }//埃及筛,不够快可以加个二分查找,刚好卡时间过
-
0
纯暴力写法
#include<stdio.h> #include<math.h> int main() { int n; scanf("%d",&n); int b; int k,q,j; int qian=0,hou=0; for(int i=1; i<=n; i++) { scanf("%d",&b); int su=1; if(b==1) { printf("2 1"); printf("\n"); } else if(b!=1) { for(int j=2; j<=sqrt(b); j++) { if(b%j==0) { su=0; break; }} if(su==1) { printf("%d 0\n",b); } else if(su==0) { for(k=b;; k++) { su = 1; for(j=2; j<=sqrt(k); j++) { if(k%j==0) { su=0; break; } } if (su==1) { break; } } hou = k - b; for(q=b;; q--) { su = 1; for(j=2; j<=sqrt(q); j++) { if(q%j==0) { su=0; break; } } if (su==1) { break; } } qian=b-q; if(hou>qian){ printf("%d %d",q,qian); } else if(hou<qian){ printf("%d %d",k,hou); } else if(hou==qian){ printf("%d %d",q,qian); } printf("\n"); } } } return 0;}
-
0
#include<iostream> #include<cmath> using namespace std;
bool isprime(int n) { for(int k=2;k<=sqrt((double)n);k++) if((n%k)0) return false; return true; } int main() { int n; cin>>n; while(n--) { int num,i,j; cin>>num; if(num1) { cout<<"2 1"<<endl; continue; } for(i=num;!isprime(i);i--); for(j=num;!isprime(j);j++);
if((num-i)<(j-num)) cout<<i<<' '<<(num-i)<<endl; else if((num-i)>(j-num)) cout<<j<<' '<<(j-num)<<endl; else if((num-i)==(j-num)) cout<<i<<' '<<(num-i)<<endl; }}
- 1
信息
- ID
- 127
- 时间
- 3000ms
- 内存
- 128MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 2382
- 已通过
- 312
- 上传者