가장 가까운의 문제 부분에 대한 해결 방법

양의 실수 감안할 때, 분자를 찾아 분모는 가장 가까운 주어진, n은 가장 간단한 비율을 초과하지 않는
진짜 번호. "인근"즉 최근 수직선 분율은 소수 점수 거리 지정되지 않은 경우
에만 최소 출력 분자.

아이디어 : 열거 분자 계산 분모.

#include <bits/stdc++.h>
using namespace std;
int n,ans1=1,ans2=1;
double x;
int main(){
	cin>>n>>x;
	for(int i=1;i<=n;i++){
	 	double z=(i*1.0)/x+0.5;
	 	int a=z;
	 	if(fabs((i*1.0)/(a*1.0)-x)<fabs((ans1*1.0)/(ans2*1.0)-x)&&a<=n){
	 		ans1=i;
	 		ans2=a;
	 	}
	}cout<<ans1<<endl;
	cout<<ans2<<endl;
	return 0;
}
게시 72 개 원래 기사 · 원의 찬양 (130) · 조회수 4074

추천

출처blog.csdn.net/qq_46230164/article/details/105385532