C练习——爱因斯坦台阶问题(穷举法)

题目:爱因斯坦曾经提出过这样一道有趣的数学题:有一个长阶梯,若每步上2阶,最后剩下1阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩下4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后刚好一阶也不剩。请问该阶梯至少有多少阶?

解析:暂时想不到什么巧妙解法,只能穷举法,阶数从七开始累加,阶数对步数取模,符合所有条件即可,稍微修改,可先提取

逻辑:while循环每次加1,if判断结束循环

#include 
int main()
{
	int n = 7;
	while (1)
	{
		if(n%2 == 1 && n % 3 == 2 && n % 5 == 4 && n % 6 == 5 && n % 7 == 0)
		{
			printf("台阶数至少为:%d\n", n);
			break;
		}
		n++;
	}
	return 0;
}

C练习——爱因斯坦台阶问题(穷举法)_第1张图片

你可能感兴趣的:(C练习题,c语言,学习)