强迫症卖家
Table of Contents
时间限制:
C/C++语言 1秒;其他语言 2秒
内存限制:
C/C++语言 32768K;其他语言 65536K 64bit IO Format %lld
题目描述
小明是个有强迫症的卖家,他手头有10000台设备,他想以他的幸运数D元(D是个浮点数)每台的价格批量卖一些出去,他不在乎能卖出去多少台,只在乎卖出去的每台均价最接近D元,而且他只收整数数额的钱。请你编程计算他应该每次卖出去的台数N,一共售价M。
输入描述
输入一个浮点数D(0 <D <10),精确到小数点后14位,表示小明钟情的价格。
输出描述
输出两个正整数M, N,以空格分割 如果有多种方案均价一样,输出台数最小的那个。
示例1
输入输出示例仅供调试,后台判题数据一般不包含示例
输入
0.50000000000000
输出
1 2
示例2
输入输出示例仅供调试,后台判题数据一般不包含示例
输入
3.14159265358979
输出
355 113
#coding=utf-8
import sys
D = float(sys.stdin.readline().strip())
n, m = 1, 1
# 正负无穷 float("inf"), float("-inf")
diff = float('inf')
while m < 100000 and n <= 10000:
if abs(m/n-D) < diff:
tmp_m, tmp_n = m, n
diff = abs(m/n-D)
if m/n-D > 0:
n += 1
elif m/n-D <= 0:
m += 1
print(tmp_m, tmp_n)