华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1491|回复: 2
打印 上一主题 下一主题

求e=1+1/1!+1/2!+1/3!****1/100!

[复制链接]

738

主题

1485

帖子

5422

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5422
跳转到指定楼层
楼主
发表于 2014-11-4 19:10:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. # include <iostream>
  2. using namespace std;
  3. int a[105],s[105];  //定义了一个105个数字的数组,a[0]表示10^0即个数,a[1]表示10^-1即十分位,同理**,预留1-2位最后四舍五入。
  4. int i,j,k;  //临时变量  i循环位数,k循环除数
  5. int x; //中转变量
  6. int main()
  7. {
  8.     a[0]=1;
  9.     s[0]=1;
  10.     for (k=1; k<=100; k++)
  11.     {
  12.         x=0;
  13.         for (i=0; i<=104; i++)
  14.         {
  15.             x=10*x+a[i];
  16.             a[i]=x/k;
  17.             x=x%k;
  18.         }

  19.         for (i=0; i<=104; i++) s[i]=s[i]+a[i];
  20.         for (i=104; i>0; i--)
  21.         {
  22.             x=s[i];
  23.             s[i]=x%10;
  24.             s[i-1]=s[i-1]+x/10;
  25.         }

  26.     }
  27.     if (s[101]>=5)
  28.     {
  29.         s[100]++;i=100;
  30.         while ((s[i]>9) && (i>0))
  31.         {
  32.             x=s[i];
  33.             s[i]=x%10;
  34.             s[i-1]=s[i-1]+x/10;
  35.             i--;
  36.         }
  37.     }
  38.         cout <<s[0]<<'.';
  39.         for (i=1; i<=100; i++) cout<<s[i];
  40.         return 0;
  41.     }
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-12-26 13:33 , Processed in 0.094770 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表