Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

ac 代码(本题关键是读懂题意)

Posted by c00h00g at 2010-05-12 09:04:42 on Problem 1571
//down payment 是首付款 月供是指贷款总额/月数 
#include<iostream>
#include<string>
#include<cmath>
using namespace std;

double toDouble(string rate)
{
	double sum=0;
	for(int i=1;i<rate.length();i++)
	{
		sum+=(rate[i]-'0')*pow(0.1,i);
	}
	return sum;
}
double mon_rate[105];
int main()
{
	int month,depress,i,j,start;
	double month_pay,sum;
	string rate;
	while(scanf("%d%lf%lf%d",&month,&month_pay,&sum,&depress)!=EOF)
	{
		memset(mon_rate,0,sizeof(mon_rate));
		if(month<0)
			break;
		else
		{
			for(i=0;i<depress;i++)
			{
				cin>>start>>rate;
				double rate_double=toDouble(rate);
				mon_rate[start]=rate_double;
			}
			double pre;
			for(i=0;i<=month;i++)
			{
				if(fabs(mon_rate[i])<0.0000000001)
					mon_rate[i]=pre;
				else
					pre=mon_rate[i];
			}

			double car_value,owe_money;
			double each_month;

			owe_money=sum;
			car_value=(sum+month_pay)*(1-mon_rate[0]);
			if(owe_money<car_value)
				printf("%d months\n",0);
			else
			{
				i=1;
				each_month=sum/month;
				while(1)
				{
					car_value=car_value*(1-mon_rate[i]);
					owe_money=owe_money-each_month;
					if(car_value>owe_money)
						break;
					i++;
				}
				if(i==1)
				   printf("%d month\n",i);
				else
				   printf("%d months\n",i);
			}
		}
	}
}

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator