阶乘问题

阶乘问题

题目:输入两个数字a,b,如果a>b则计算b!+...a!否则(a=b或者a<b时,不能连加)继续输入数字。如(4,3则输出4!+3!=30)

解决方法:

方法一:使用python语言解决

 1 def d():
 2     a=input("请输入一个数字:")
 3     b=input("请再输入一个数字:")
 4     a=int(a)
 5     b=int(b)
 6     def f(n):
 7         sumab=1
 8         for i in range(1,n+1):
 9             sumab*=i
10         return sumab
11     if(a>b):
12         s=0
13         for i in range(b,a+1):
14             s+=f(i)
15         print("连加和是%d"%s)
16     else:
17         print("不能连加!")
18         d()
19 d()

方法二:使用C语言解决

 1 #include<stdio.h>
 2 int f(int n)
 3 {
 4     int i=1,c=1;
 5     for(i;i<=n;i++)
 6     {
 7         c*=i;
 8     }
 9     return c;
10 }
11 void d()
12 {
13     int i,j;
14     int sumab=0;
15     printf("请输入两个数字:\n");
16     scanf("%d%d",&i,&j);
17     if(i>j)
18     {
19         for(;j<=i;j++)
20         {
21             sumab+=f(j);
22         }
23         printf("连加和为:%d\n",sumab);
24     }
25     else
26     {
27         printf("不能连加!\n");
28         d();
29     }
30 }
31 void main()
32 {
33     d();
34 }

注解:以上两个方法都没有对输入的数字进行判断和过滤,读者可以自行添加相应的方法。

posted @ 2013-04-23 11:48 倾杯天涯 阅读( ...) 评论( ...) 编辑 收藏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值