C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

8除不尽的自然数

Posted on 2006-03-26 01:04 我爱C 阅读(1420) 评论(1)  编辑 收藏 引用 所属分类: C语言趣味程序
一个自然数被8除余1,所得的商被8除也余1,再将第二次的商被8除后余7,最后得到的商为a。又知这个自然数被17除余4,所得的商被17除余15,最后得到一个商是a的2倍。求这个自然数。
 
分析:根据题意,可设最后的商为i(i从0开始取值),用逆推法可以列出关系式:
  (((i*8+7)*8)+1)*8+1=((2*i*17)+15)*17+4
 
再用试探法求出i的值。
 
参考程序:
main()
{
   int i;
   for(i=0;;i++)     /*试探商的值*/
    if( ((i*8+7)*8+1)*8+1==((2*i*17)+15)*17+4 )
      break; /*找到满足条件的i的值退出循环*/
 
 printf("the required number is:%d",((2*i*17)+15)*17+4);  /*输出结果*/
}

Feedback

# 分数变小数  回复  更多评论   

2006-08-29 19:59 by 郭增
写一个程序,接受一个以N/D形式的分数,其中N为分子,D为分母,输出它的小数形式,如果他的小数形式存在循环节,要将2其用挂号垮起来.列如:1/3=.3333...表示为.(3),有如:41/333=.123123123,表示为.(123).

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理