编写程序求n!--C语言中数组的使用

注:部分内容摘自《数据结构》,黄国瑜,叶乃菁编著,清华大学出版社。

需求:编写程序求n!。

分析:数字相乘可以分解为各个阶位相乘,比如百位数A*B可分解为A100*B+A10*B+A1*B,然后从小位到大位分析,如果某一位的值大于等于10,则需要向高位进位,并对该位除以10,余数为该位的值。比如24*5,等价于(2*5)*10+(4*5)*1,因为4*5=20大于10,则从个位向十位进2,余0,这样十位为12(10+2),因为大于10,则十位须向百位进位1,余2为十位值,最后百位为1,十位为2,个位为0,即120,为最终计算值。每一位的表示可以使用整型值数组表示。

程序:

自己编写:

/**
 *功能:求解n!
 *作者:赵聪
 *时间:2013-3-30
 */
#include <stdio.h>
#define LEN 40//控制数据位数的数组长度

/**
 *主程序
 */
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值