| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6957 人关注过本帖
标题:求大神解决爱因斯坦的阶梯问题 与以前不同
只看楼主 加入收藏
w4654646
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2016-3-2
结帖率:76.47%
收藏
已结贴  问题点数:10 回复次数:9 
求大神解决爱因斯坦的阶梯问题 与以前不同
爱因斯坦出了一道这样的数学题:有一条长阶梯,若每步跨2阶,则最后剩一阶,若每步跨3 阶,则最后剩2阶,若每步跨5阶,则最后剩4阶,若每步跨6阶则最后剩5阶。只有每次跨7阶,最后才正好一阶不剩。请问在1到N内,有多少个数能满足?

输入
每一行只有一个n;

输出
输出满足条件的个数。每个答案一行。

样例输入
1999999样例输出
9524


#include<stdio.h>
void main()
{
    int i,n,s=0;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        if(i>=1&&i<=2)
            s+=1;
        if(i>=3)
            if((i%2==1)||(i%3==2)||(i%4==3)||(i%5==4)||(i%6==5)||(i%7==0))
                s+=1;
            else
                continue;
    }
    printf("%d\n",s);
}


不知道有什么地方不对?或少了什么?
搜索更多相关主题的帖子: 爱因斯坦 include 数学题 
2016-03-11 09:07
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:3 
if((i%2==1)||(i%3==2)||(i%4==3)||(i%5==4)||(i%6==5)||(i%7==0))
这里应该用&&吧?
        if(i>=1&&i<=2)
             s+=1;

这一句对不对?1和2不满足啊
2016-03-11 09:17
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:3 
程序代码:
#include <stdio.h>

int main()
{
    int i,n,s=0;
    
    scanf("%d",&n);
    
    if(n<14)  return 0;  //务必大于14
    
    for(i=14;i<=n;i++)
    {
        if(i%2==1&&i%3==2&&i%5==4&&i%6==5&&i%7==0)  s++;  //是都要符合的意思,不是或者
    }
    
    printf("%d\n",s);
    
    return 0;
}

   唯实惟新 至诚致志
2016-03-11 09:20
w4654646
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2016-3-2
收藏
得分:0 
回复 2楼 grmmylbs
1和2不满足?为什么?
2016-03-11 09:21
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
简单啊,一次至少要能走七阶,若每步跨6阶则最后剩5阶则表明至少要11阶,所以阶数必定>=14。

   唯实惟新 至诚致志
2016-03-11 09:24
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
收藏
得分:0 
回复 4楼 w4654646
跨2步剩一步,1和2不满足,别说后面的条件了,更不满足。
2016-03-11 09:24
w4654646
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2016-3-2
收藏
得分:0 
就不能一步一阶吗 可以走完啊
2016-03-11 09:27
w4654646
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2016-3-2
收藏
得分:0 
是我弄错了题目意思吗
2016-03-11 09:29
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:3 
用似乎叫 中国剩余定理 的公式求得 119 + 210*i <= n
结果就是 (n-119+210)/210

代码就简单了
int main( void )
{
    输入 n
    输出 (n+91)/210
}
2016-03-11 11:22
hzxsyzl
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:68
注 册:2016-3-8
收藏
得分:3 
取7的倍数去满足,其它4个条件,以1倍,2倍,3倍,……n倍,去做n次循环,
2016-03-11 16:37
快速回复:求大神解决爱因斯坦的阶梯问题 与以前不同
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017453 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved