9、用伪代码实现下面两道题,写出关键部分即可(每小题15分) a)给出正整数(int 范围内)以逆序形式输出(如给出n=12345,输出54321)。 b) 一列数的规则如下:1、1、2、3、5、8、13、21、34.....,求第位数,要求用java递归实现
时间: 2023-12-28 15:45:22 浏览: 16
a)
```
输入:正整数n
输出:n的逆序形式
reverse(n):
while n > 0:
digit = n % 10
输出 digit
n = n // 10
```
b)
```
输入:正整数n
输出:第n位数的值
fibonacci(n):
if n == 1 or n == 2:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
输入:正整数n
输出:第n位数的值
fibonacci_nth(n):
return fibonacci(n)
```
相关问题
9、用伪代码实现下面两道题,写出关键部分即可(每小题15分) a)给出正整数(int 范围内)以逆序形式输出(如给出n=12345,输出54321)。 b) 一列数的规则如下:1、1、2、3、5、8、13、21、34.....,求第位数,要求用递归实现
a)
输入: n (正整数)
输出: n 的逆序形式
// 递归函数
reverse(n):
if n < 10:
return n
else:
return (n % 10) * 10^(len(n)-1) + reverse(n // 10)
// 主函数
main():
输入 n
输出 reverse(n)
b)
输入: n (正整数)
输出: 第 n 个数
// 递归函数
fibonacci(n):
if n == 1 or n == 2:
return 1
else:
return fibonacci(n-1) + fibonacci(n-2)
// 主函数
main():
输入 n
输出 fibonacci(n)
写出将十进制正整数转换为二进制整数的标准算法。a.用文字描述。b. 用伪代码描述。c 用python代码表示
a. 文字描述:
将十进制正整数转换为二进制整数的标准算法如下:
1. 从给定的十进制数中取最低位(个位),并将其除以2得到的余数作为最低位的二进制数。
2. 将十进制数除以2,得到一个新的十进制数。
3. 重复步骤1和步骤2,直到新的十进制数为0为止。
4. 将每一步得到的二进制数从下往上排列,得到最终的二进制整数。
b. 伪代码描述:
```
function decimal_to_binary(decimal):
binary = ""
while decimal > 0:
remainder = decimal % 2
binary = remainder + binary
decimal = decimal // 2
return binary
```
c. Python代码表示:
```python
def decimal_to_binary(decimal):
binary = ""
while decimal > 0:
remainder = decimal % 2
binary = str(remainder) + binary
decimal = decimal // 2
return binary
# 测试代码
decimal = 10
binary = decimal_to_binary(decimal)
print(binary) # 输出:1010
decimal = 27
binary = decimal_to_binary(decimal)
print(binary) # 输出:11011
```
以上代码实现了将十进制正整数转换为二进制整数的算法。