8除不尽的自然数


题目:

一个自然数被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
using namespace std;

int main()
{
	for (int i = 0;; i++)
	{
		if (((i * 8 + 7) * 8 + 1) * 8 + 1 == (34 * i + 15) * 17 + 4)
		{
			cout << (34 * i + 15) * 17 + 4 << endl;
			break; /*退出循环*/
		}
	}
	return 0;
}

相关