当前位置: > 求爱因斯坦数学题.有一条长阶,若每步跨2阶,则最后剩1阶;若每步跨阶,...
题目
求爱因斯坦数学题.有一条长阶,若每步跨2阶,则最后剩1阶;若每步跨阶,
则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨7阶,则最后正好一阶不剩.
答;
#include
int main(void)
{
int steps = 29,i = 1;
while ( steps % 7 )
{
steps = (30 * ++i) - 1;
}
printf("Total steps:%d ",steps);
return 0;
}
这是书上的答案,我看不懂它的算法,

提问时间:2020-08-01

答案
其实是个数学问题,知道了如何列式算这个题,也就知道算法.
若每步跨2阶,则最后剩1阶;若每步跨3阶,则最后剩2阶;若每步跨5阶,则最后剩4阶,也就是说,每步跨2,3,5阶都是少1阶(即余数为-1).取最小公倍数得总阶数=30*n-1,n为正整数.
于是就有了程序,不断增大n,一直到30*n-1是7的倍数即可,也就满足了所有条件.
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
奥巴马演讲不用看稿子.为什么中国领导演讲要看?
想找英语初三上学期的首字母填空练习……
英语翻译
版权所有 CopyRight © 2012-2019 超级试练试题库 All Rights Reserved.