zoukankan      html  css  js  c++  java
  • c语言实现n!算法

    最近一面学习数据结构,一面在做些c语言的题目。这个题目前些天碰到,和同学讨论了下。于是就用c语言实现n!(n=10000)

     1 #include<stdio.h>
     2 #define MAX 50000
     3 
     4 int main(void)
     5 {
     6     int a[MAX] = {0};   //置数组每一位为0
     7     a[MAX-1] = 1; 
     8 
     9     int k, i;              //k遍历阶乘,i作为数组下标
    10    int go = 0;         //go作为进位
    11 
    12    for (k=2; k<=10000; k++)   //每乘一个数,遍历整个数组
    13         for (i=MAX-1; i>=0; i--)    //从数组最后一位放起
    14         {
    15             int temp;
    16             temp = a[i] * k + go;   //乘法原理
    17             a[i] = temp % 10;  
    18             go = temp / 10;
    19         }
    20     i = 0;
    21     while (!a[i++])     //过滤掉数组前面的0
    22         ;
    23     k = i;
    24     for (i--; i<MAX; i++)  //注意i--操作,前面多过滤一位
    25     {
    26         if (i % 20 == 0)   //每二十位换一行
    27             printf("
    ");
    28         printf("%d", a[i]);
    29     }
    30     printf("10000!共有%d位。
    ", MAX - k + 1);
    31     return 0;
    32 }
  • 相关阅读:
    Web学习之css
    Spring学习之第一个hello world程序
    MySQL基础学习总结
    Jmeter参数化
    mysql慢查询解析-linux命令
    mysql慢查询
    mysql_存储引擎层-innodb buffer pool
    mysql_Qcahce
    memocached基础操作
    Memcached安装配置
  • 原文地址:https://www.cnblogs.com/rookiefly/p/3428152.html
Copyright © 2011-2022 走看看