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); /*输出结果*/
}