数学建模社区-数学中国

标题: 大家来练习5 [打印本页]

作者: 为你奋斗    时间: 2010-3-11 18:14
标题: 大家来练习5
http://flashupload/swf/100311101402dvpgk6mo4l4x.jpg
作者: lxgjianmo    时间: 2010-3-11 18:58
好题!!!!!!!!!!!!!!!!!!
作者: 数学者    时间: 2010-3-11 20:27
有空可以多做这类题,挺好的,呵呵~
作者: nwave    时间: 2010-3-11 20:38
呵呵,不错。谁做出来了,可以和我交流。。。。。。。。。。。。。。。
作者: sea_star666    时间: 2010-3-12 00:01
为什么没人发答案呢?
作者: sea_star666    时间: 2010-3-12 00:03
关键是如何确定循环
作者: sea_star666    时间: 2010-3-12 00:12
对于纯循环小数,转换方法是:循环节做分子;分母全是9,9的个数为循环节长度。。再约分即可
  例:0.1111111...=1/9
  0.123 123 123....=123/999=41/333
  0.35 35 35..=35/99
  对于混循环小数,转换方法是:分子为两数之差-----
              被减数:小数点后第一位的数直到第一个循环节结束,这几个数字构成的数作为被减数;
           减数:未参与循环的小数部分,
           分母由9和0组成,9的个数为循环节长度,0的个数为未循环部分长度。。再约分即可
  例:0.1 23 23 23 23....=(123-1)/990=122/990=61/495
  0.73 865 865 865...=(73865-73)/99900=73792/99900=18448/24975
  0.32 11111111...=(321-32)/900=289/900
作者: sea_star666    时间: 2010-3-12 00:20
本帖最后由 sea_star666 于 2010-3-12 23:19 编辑

#include<stdio.h>
#define Max 100           /*小数点后最大位数*/
int Left[Max];
int Digit[Max];              /*记录每次的余数和商*/
int n,d,q,Top;               /*q为循环字节的位置*/

void Init(void)
{
  printf("ENTER N,D:");
  scanf("%d %d",&n,&d);
}

void Cacl(void)       /*计算*/
{
  int i=0,j=1;
  Digit[0]=n/d;           /*求商*/
  Left[0]=n%d;            /*求余数*/
  Top=0;
  q=0;              /*初始化商和余数*/
  while(Left[Top]!=0&&j==1&&Top<100)
  {
    Top++;           /*取下一个数组元素*/
    Digit[Top]=(Left[Top-1]*10)/d;   /*求商*/
    Left[Top]=(int)(Left[Top-1]*10)%d; /*求余数*/

    for(i=0;i<Top-1;i++)
    {
      if(Left[Top]==Left
)    /*如果出现循环节则退出*/
      {
        q=i+1;
        j=0;
        break;
      }

    }
  }
}

void Print(void)           /*输出计算结果*/
{
  int i;
  printf("n/d=  ");
  if(Digit[0]!=0) printf("%d",Digit[0]);
  if(Top>0) printf(".");
  for(i=1;i<=Top;i++)
  {
    if(i==q)  printf("(");
    printf("%d",Digit
);
  }
  if(q>0)  printf(")");
}

void main(void)
{
  Init();      /*读入数据*/
  Cacl();            /*计算*/
  Print();           /*打印结果*/
}

作者: mnpfc    时间: 2010-3-12 00:43
呵呵,顶楼上的
作者: 陈了    时间: 2010-3-12 09:36
呵呵呵呵。。。。顶楼上的!牛呀!
作者: 李——建辉    时间: 2012-1-13 08:19
没有体力啦,资料能发给我一份吗?我的邮箱是18633525948圈163邮箱,谢啦




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5