1. 程式人生 > >資訊奧賽一本通-1029:計算浮點數相除的餘

資訊奧賽一本通-1029:計算浮點數相除的餘

【題目描述】
計算兩個雙精度浮點數a和b的相除的餘數,aa和bb都是雙精度浮點數。這裡餘數(r)(r)的定義是:a=k×b+ra=k×b+r,其中kk是整數,0≤r<b0≤r<b。

【輸入】
輸入僅一行,包括兩個雙精度浮點數aa和bb。

【輸出】
輸出也僅一行,a÷ba÷b的餘數。

【輸入樣例】
73.263 0.9973
【輸出樣例】
0.4601
【來源】

No

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
	double a,b,r;
	int k;
	cin>>a>>b;
	k=a/b;
	r=a-b*k;
	printf("%g",r);
 } 

注意:這題如果輸出用printf("%f",r)則會不通過。因為用%f,輸出的結果為0.460100,而輸出樣例是0.4601(去掉了最後的無意義的0),所以用%g輸出浮點數。