# SCU 1009 Dollars

555人阅读 评论(0)

Description

## Output

Output will consist of a line for each of the amounts in the input, each line consisting of the amount of money (with two decimal places and right justified in a field of width 5), followed by the number of ways in which that amount may be made up, right justified in a field of width 12.

## Sample input

0.20
2.00
0.00

## Sample output

 0.20           4
2.00         293
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
int main()
{
double x;
int i,j,k,l,n,m,o,p,q;
while (~scanf("%lf",&x) && x)
{
x*=10;
if (x<1)
{
printf("%.2lf 1\n",x/10);
continue;
}
int t=0;
for (i=0;i<=x/500;i++)
for (j=0;j<=(x-i*500)/200;j++)
for (k=0;k<=(x-i*500-j*200)/100;k++)
for (l=0;l<=(x-i*500-j*200-k*100)/50;l++)
for (n=0;n<=(x-i*500-j*200-k*100-l*50)/20;n++)
for (m=0;m<=(x-i*500-j*200-k*100-l*50-n*20)/10;m++)
for (o=0;o<=(x-i*500-j*200-k*100-l*50-n*20-m*10)/5;o++)
for (p=0;p<=(x-i*500-j*200-k*100-l*50-n*20-m*10-o*5)/2;p++)
{
int y=x-i*500-j*200-k*100-l*50-n*20-m*10-o*5-p*2;
t+=y+1;
}
printf("%5.2lf%12d\n",x/10,t);
}
return 0;
}

0
0

* 以上用户言论只代表其个人观点，不代表CSDN网站的观点或立场
个人资料
• 访问：209249次
• 积分：4980
• 等级：
• 排名：第5863名
• 原创：291篇
• 转载：26篇
• 译文：0篇
• 评论：59条
文章分类
评论排行
最新评论