JG-OJ记录91:11:素数-4

it2025-05-20  11

描述

输入m,输出m到2m之间(包含m和2m)最大的素数减去最小的素数的结果。

输入

一个正整数n,表示测试案例的数量。

每组案例中有一个正整数m。

输出

针对每组案例,输出一个整数,表示m到2m之间(包含m和2m)最大的素数减去最小的素数的结果。每组案例输出完都要换行。

样例输入 复制样例

2

1

7

样例输出

0

6

HINT

1到2之间最大的素数是2,最小的素数是2,2-2=0

7到14之间最大的素数是13,最小的素数是7,13-7=6

解:

#include<iostream> #include<cmath> using namespace std; int main() { int n,min,max; cin>>n; for(int i=1;i<=n;i++) { int m,m2,a,ss=1; cin>>m; max=m; m2=2*m; min=m2; int ins=0,axs=0; for(a=m;a<=m2;a++) { ss=1; if(a>=2) { if((a==3)||(a==2)) ss=1; else { for(int j=2;j<=sqrt(a);j++) { if((a%j)==0) { ss=0; } } } } else ss=0; if(ss==1) { if(ins==0) { min=a; ins=1; } else { if(a<min) min=a; } if(axs==0) { max=a; axs=1; } else { if(a>max) max=a; } } } cout<<max-min<<endl; } return 0; }

 

最新回复(0)