考虑下面的伪代码,其中d是面额值的数组,k是面额的数目,n是要进行更改的数量。
Change(d; k; n)
1 C[0] <- 0
2 for p <- 1 to n
3 min <- INFINITE
4 for i <- 1 to k
5 if d[i] <= p then
6 if 1 + C[p - d[i]] < min then
7 min <- 1 + C[p - d[i]]
8 coin <- i
9
该程序是将日元、欧元或英镑(取决于用户的输入)兑换为1美元。
我要求两个用户输入-双金额(货币转换)和字符货币(以确定哪种货币转换成美元)。
样本输入: 1y
样本输出:1日元= 0.0094美元。
当我试图将欧元兑换成美元的时候,问题就在if-else块中,它打破了while循环。这是我的密码:
double amount; // the amount of money to be converted
char currency; // to determine the currency in which the money is being entered in.
while (c
我创建了一个迭代计算Fibonacci数的方法(不允许使用递归)。在索引47之后,我得到了奇怪的结果:
斐波纳契编号47:-1323752223
斐波纳契编号48: 512559680
斐波纳契编号49:-811192543
斐波纳契编号50:-298632863
我试过不同的方法,但它改变了整件事。这是我的方法,有什么想法吗?希望你能帮我。
public static long fiboIterative(int n) {
if (n == 0)
return 0;
if (n == 1 || n == 2)
return 1;
i
在这段代码中,我试图编写一个程序,根据用户的输入(Index,Size)打印出斐波那契数列。然后,程序应该打印出Index..Size之间的所有斐波那契数。我遇到了麻烦,编写了一个递归来计算并打印出斐波那契数。有什么建议吗?
with Ada.Text_IO; use Ada.Text_IO;
with Ada.Integer_Text_IO; use Ada.Integer_Text_IO;
with Ada.Text_IO, Ada.Unchecked_Deallocation;
procedure Fibonacci is
type Arr is array (P