0

10ドルに含まれるクォーター、ダイム、ニッケル、ペニーの数をどのように数えることができますか?

しばらく時間が必要なことはわかっていますが、その間の状態がどうなるかわかりません。

それから私はこれをしました:

while(#read from a file)
print $cents
$left = $cents %25 #i did this since quarter is the largest change we have.

その後、4分の1、10セント硬貨、5セント硬貨、1セント硬貨がいくつあるかを書く方法がわかりません。

4

2 に答える 2

3

変化を把握しようとしている場合は、セントの金額(ドルの金額ではない)で作業し、最大のコインの最大数、次に大きいコインの最大数などを減算します。コインの値が1.5の場合、 10,25、私はこれが常に最も少ないコインを使用する答えに到達すると思います(これは異なる利用可能なコインには当てはまりませんが)。

my $amount_in_cents = 1000;  # $10 * 100¢/$

my @coins = (25, 10, 5, 1);
my @change;
for my $coin (@coins) { 
   push @change, int($amount_in_cents / $coin);
   $amount_in_cents -= $change[-1] * $coin;
}

say join ', ', map "$change[$_]x$coins[$_]¢", grep $change[$_], 0..$#coins;
于 2013-03-15T01:09:20.113 に答える
0

1 つのコインを使用する方法を調べることから始めることができます。

my $break_apart = 1000; # ten dollars, in pennies
my $break_into = 25; # a quarter
my $remainder = $break_apart % $break_into;
my $count = ($break_apart - $remainder) / $break_into;

次に、複数のコインで動作するように拡張します。

my @coins = (1, 5, 10, 25);
my $break_apart = 1000; # ten dollars, in pennies
for my $break_into (@coins)
{
    my $remainder = $break_apart % $break_into;
    my $count = ($break_apart - $remainder) / $break_into;
}
于 2013-03-15T00:42:04.500 に答える