70分求助 WA#4 #5 #8
查看原帖
70分求助 WA#4 #5 #8
1098818
pbjyeee楼主2024/7/25 14:18
#include<bits/stdc++.h>
using namespace std;
double k,cha=10.0,value,save,a2;
int n,m,ans_fir,ans_sec,havesame=-1,a,b,lst[100]={2,3,5,7,10,11,13,17,19,23,29,31,37,41,47,53},c=0;
bool pan(int a,int b){
	for(int i=0;i<13;i++){
		if(a%lst[i]==0&&b%lst[i]==0){
			return false;
		}
	}
	return true;
}
int main(){
	cin>>n>>m;
	cin>>k;
	for(double i=1;i<=m;i+=1){
		a=i*k;b=a+1;a2=double(i)*double(k);
		if(a>n){break;}
		value=double(a)/i;
		if(i==1){cha=k-value;ans_fir=a;ans_sec=1;havesame=1;}
		else if(pan(a,i)){
			if(k-value==cha){havesame++;}
			else if(k-value<cha){havesame=1;ans_fir=a;ans_sec=i;cha=k-value;}
		}
		if(pan(b,i)&&b<=n){
			value=double(b)/i;
			if(value-k==cha){havesame++;}
			else if(value-k<cha){havesame=1;ans_fir=b;ans_sec=i;cha=value-k;}
		}
	}
	if(havesame>1&&ans_fir!=1&&ans_sec!=1){cout<<"TOO MANY"<<endl;cout<<ans_fir<<'/'<<ans_sec;}
	else if(double(int(k))==k){cout<<k<<"/1";}
	else {cout<<ans_fir<<'/'<<ans_sec;}
}

RT,WA #4#5#8

2024/7/25 14:18
加载中...