求大佬帮忙看看
查看原帖
求大佬帮忙看看
626973
LiuyiJushi楼主2024/6/29 16:00

本蒟蒻写了一段代码,但是无奈UVA账号不知是被封了还是被盗了无法使用,

求好心人帮忙提交并指正

代码:

#include <iostream>
#include <stdio.h>
#include <bitset>
using namespace std;
int l,r;
bitset<1000006>v;
inline bool check(int x) {
	if(x<=1) return 0;
	for(int i=2; i<=x/i; i++)
		if(!(x%i)) return 0;
	return 1;
}
signed main() {
	while(~scanf("%d %d",&l,&r)) {
		int cnt=0;
		int lp=-2e9;//last_prime
		int cp1=-1e9,cp2=1e9;//closest
		int dp1=114514,dp2=114514;//most diatant
		for(int i=l; i<=r; i++) {
			if(check(i)) {
				cnt++;
				if(cnt>1) {
					if(cp2-cp1>i-lp) {
						cp2=i,cp1=lp;
					}
					if(dp2-dp1<i-lp) {
						dp2=i,dp1=lp;
					}
				}
				lp=i;
			}
		}
		if(cnt<2) {
			printf("There are no adjacent primes.\n");
		} else {
			printf("%d,%d are closest, %d,%d are most distant.\n",cp1,cp2,dp1,dp2);
		}
	}
	return 0;
}
2024/6/29 16:00
加载中...