一个自然数被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)*18+4
再用试探法求出商i的值。
*程序说明与注释
#include<stdio.h>
int main()
{
int i;
for(i=0;;i++) /*试探商的值*/
if(((i*8+7)*8+1)*8+1==(34*i+15)*17+4)
{ /*逆推判断所取得的当前i值是否满足关系式*/
/*若满足则输出结果*/
printf("The required number is: %d\n",(34*i+15)*17+4);
break; /*退出循环*/
}
}
*运行结果
The required number is:1993
| 广告合作:400-664-0084 全国热线:400-664-0084 Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号 珠峰网 版权所有 All Rights Reserved
|