编写程序,写出运行正确的代码:求1!+2!+3!+...+20!。
时间: 2023-10-06 16:07:09 浏览: 54
Sure, I can help you with that! Here's the code in Python:
```
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
for i in range(1, 21):
print(str(i) + "! = " + str(factorial(i)))
```
This will print out the factorials of the numbers 1 through 20. Let me know if you have any other programming questions!
相关问题
帮我写一段python程序,编写函数f(n),实现输入n的值,求出n的阶乘。然后调用此函数计算1!+2!+3!+......+10!的结果,输出到屏幕上
好的,以下是代码实现:
```python
def f(n):
if n == 0:
return 1
else:
return n * f(n-1)
result = 0
for i in range(1, 11):
result += f(i)
print(result)
```
运行结果为:4037913
解释一下代码:
首先定义了一个函数 `f(n)`,用来计算 n 的阶乘。如果 n 等于 0,则返回 1,否则返回 n 乘以调用 f 函数计算 n-1 的阶乘的结果。
然后使用循环计算 1 到 10 的阶乘之和,并将结果存入变量 result 中。
最后输出 result 的值,即为 1!+2!+3!+...+10! 的结果。
1.请编写程序 KY2_4.java,要求程序具有如下功能:求 1+2+…+100 之和,并将求和表达式与所求的和都显示出来,即程序的输出结果应该为:1+2+…+100=5050。 2.编译 KY2_4.java 3.运行KY2_4.class 4.把源程序写在实验报告中。
答案:
1. KY2_4.java程序代码如下:
```java
public class KY2_4 {
public static void main(String[] args) {
int sum = 0;
String str = "";
for (int i = 1; i <= 100; i++) {
sum += i;
str += i;
if (i < 100) {
str += "+";
}
}
System.out.println(str + "=" + sum);
}
}
```
2. 在命令行窗口中进入程序所在目录,执行javac KY2_4.java命令进行编译。如果编译成功,会在当前目录下生成一个KY2_4.class文件。
3. 在命令行窗口中执行java KY2_4命令运行程序。程序的输出结果为:
```
1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67+68+69+70+71+72+73+74+75+76+77+78+79+80+81+82+83+84+85+86+87+88+89+90+91+92+93+94+95+96+97+98+99+100=5050
```
4. 源程序已在第一项中给出。