华师一附中OI组

标题: 求1/100! [打印本页]

作者: admin    时间: 2014-11-4 18:48
标题: 求1/100!

  1. include <iostream>
  2. using namespace std;
  3. int a[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.     for (k=2; k<=10; k++)
  10.     {
  11.         x=0;
  12.         for (i=0; i<=104; i++)
  13.         {
  14.             x=10*x+a[i];   //被除数应该等于上次的余数*10+现在的位上的数字
  15.             a[i]=x/k;   //商
  16.             x=x%k;  //新的余数
  17.         }
  18.     }
  19.   if (a[101]>=5)   //处理进位
  20.     {
  21.         a[100]++;
  22.         i=100;  //可能会连续进位!!
  23.         while ((a[i]>9)&& (i>0))  //类似进位处理
  24.         {
  25.             x=a[i];
  26.             a[i]=x%10;
  27.             a[i-1]=a[i-1]+x/10;
  28.             i--;
  29.         }
  30.     }
  31.     cout<<a[0]<<'.';
  32.     for (i=1; i<=101; i++) cout<<a[i];
  33.     return 0;
  34. }
复制代码


作者: clivia    时间: 2014-11-4 18:57
spcaoyang123 发表于 2014-11-4 18:51
水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水

看着你我露出了悲伤的表情。
作者: hr567    时间: 2014-11-13 20:36
spcaoyang123 发表于 2014-11-4 18:51
水水水水水水水水水水水水水水水水水水水水水水水水水水水水水水

瞎灌水,不是有专门的水区吗。




欢迎光临 华师一附中OI组 (http://hsyit.cn/) Powered by Discuz! X3.2