java代码
//为了防止出现,n应该等于1,但是n = 0.9999999…,(double的精度问题) 所以可以上来就加上一个很小的数
// n += 1e-8
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
double money = sc.nextDouble();
money += 1e-8;
System.out.printf("NOTAS:\n");
int count = (int)money / 100;
System.out.printf("%d nota(s) de R$ 100.00\n", count);
money -= count * 100;
count = (int)(money / 50);
System.out.printf("%d nota(s) de R$ 50.00\n", count);
money -= count * 50;
count = (int)(money / 20);
System.out.printf("%d nota(s) de R$ 20.00\n", count);
money -= count * 20;
count = (int)(money / 10);
System.out.printf("%d nota(s) de R$ 10.00\n", count);
money -= count * 10;
count = (int)(money / 5);
System.out.printf("%d nota(s) de R$ 5.00\n", count);
money -= count * 5;
count = (int)(money / 2);
System.out.printf("%d nota(s) de R$ 2.00\n", count);
money -= count * 2;
System.out.printf("MOEDAS:\n");
count = (int)(money / 1);
System.out.printf("%d moeda(s) de R$ 1.00\n", count);
money -= count * 1;
count = (int)(money / 0.5);
System.out.printf("%d moeda(s) de R$ 0.50\n", count);
money -= count * 0.5;
count = (int)(money / 0.25);
System.out.printf("%d moeda(s) de R$ 0.25\n", count);
money -= count * 0.25;
count = (int)(money / 0.1);
System.out.printf("%d moeda(s) de R$ 0.10\n", count);
money -= count * 0.1;
count = (int)(money / 0.05);
System.out.printf("%d moeda(s) de R$ 0.05\n", count);
money -= count * 0.05;
count = (int)(money / 0.01);
System.out.printf("%d moeda(s) de R$ 0.01\n", count);
money -= count * 0.01;
}
}
Python代码
money = float(input())
money += 1e-8
print("NOTAS:")
count = int(money / 100)
print("%d nota(s) de R$ 100.00" % count)
money -= count * 100;
count = int(money / 50)
print("%d nota(s) de R$ 50.00" % count)
money -= count * 50
count = int(money / 20)
print("%d nota(s) de R$ 20.00" % count)
money -= count * 20
count = int(money / 10)
print("%d nota(s) de R$ 10.00" % count)
money -= count * 10
count = int(money / 5)
print("%d nota(s) de R$ 5.00" % count)
money -= count * 5
count = int(money / 2)
print("%d nota(s) de R$ 2.00" % count)
money -= count * 2
print("MOEDAS:")
count = int(money / 1)
print("%d moeda(s) de R$ 1.00" % count)
money -= count * 1
count = int(money / 0.5)
print("%d moeda(s) de R$ 0.50" % count)
money -= count * 0.5
count = int(money / 0.25)
print("%d moeda(s) de R$ 0.25" % count)
money -= count * 0.25
count = int(money / 0.1)
print("%d moeda(s) de R$ 0.10" % count)
money -= count * 0.1
count = int(money / 0.05)
print("%d moeda(s) de R$ 0.05" % count)
money -= count * 0.05
count = int(money / 0.01)
print("%d moeda(s) de R$ 0.01" % count)
money -= count * 0.01
C++代码
#include<iostream>
using namespace std;
int main()
{
double money;
int count;
cin >> money;
money += 1e-8;
cout << "NOTAS:" << endl;
count = (int)(money / 100);
printf("%d nota(s) de R$ 100.00\n", count);
money -= count * 100;
count = (int)(money / 50);
printf("%d nota(s) de R$ 50.00\n", count);
money -= count * 50;
count = (int)(money / 20);
printf("%d nota(s) de R$ 20.00\n", count);
money -= count * 20;
count = (int)(money / 10);
printf("%d nota(s) de R$ 10.00\n", count);
money -= count * 10;
count = (int)(money / 5);
printf("%d nota(s) de R$ 5.00\n", count);
money -= count * 5;
count = (int)(money / 2);
printf("%d nota(s) de R$ 2.00\n", count);
money -= count * 2;
cout << "MOEDAS:" << endl;
count = (int)(money / 1);
printf("%d moeda(s) de R$ 1.00\n", count);
money -= count * 1;
count = (int)(money / 0.5);
printf("%d moeda(s) de R$ 0.50\n", count);
money -= count * 0.5;
count = (int)(money / 0.25);
printf("%d moeda(s) de R$ 0.25\n", count);
money -= count * 0.25;
count = (int)(money / 0.1);
printf("%d moeda(s) de R$ 0.10\n", count);
money -= count * 0.1;
count = (int)(money / 0.05);
printf("%d moeda(s) de R$ 0.05\n", count);
money -= count * 0.05;
count = (int)(money / 0.01);
printf("%d moeda(s) de R$ 0.01\n", count);
money -= count * 0.01;
return 0;
}