【C语言编程练习】5.9 爱因斯坦的阶梯问题

1. 题目要

有一个长阶梯,每2步上,最后剩1个台阶,若每3步上,最后剩2个台阶.若每5步上,最后剩4个台阶,若每6步上,最后剩5个台阶。只有每步上7阶,才可以刚好走完,请问台阶至少有多少阶?

2. 题目分析

如果台阶一共是X阶,那么就有如下的关系

X%2=1

X%3=2

X%5=4

X%6=5

X%7=0

也转换成在解空间中找出满足上述条件的值。

3. 代码尝试

【自己的代码】

#include "stdio.h"

 

int main(){

    int x=0;

    int flag=1;

    while(flag){

        if(x%2==1&&x%3==2&&x%5==4&&x%6==5&&x%7==0){

            flag=0;

        }else ++x;

    }

    printf("the results of the Einstain's question is %d\n",x);

}

 

【参考答案的代码】

懒得打了,它的核心是用能被7整除的数来计算

 

4. 总结

果然自信心很重要,在不看参考代码的前提下,自己独立思考,有一种别样的快乐呢!

 

猜你喜欢

转载自www.cnblogs.com/mumutoday/p/10539393.html