| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 957 人关注过本帖
标题:提问 数字统计的题 两个代码有何不同
取消只看楼主 加入收藏
yap
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-7-2
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
提问 数字统计的题 两个代码有何不同
题目:请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。
比如在给定范围[2, 22],数字2在数2中出现了1次,在数12中出现了1次,在数20中出现了1次,在数21中出现了1次,在数22中出现了2次,所以数字2在该范围内一共出现了6次。

第一个代码是这样
#include<iostream>
using namespace std;
int main()
{
    int l, r, count = 0;
    cin >> l >> r;
    for(int i = l ; i <= r; i++)
    {
        int t = i;
        while(t != 0)
        {
            if(t % 10 == 2)
                count ++;
            t /= 10;
        }
    }
    cout << count << endl;
    return 0;
}

第二个代码是这样,但是会超时

#include<iostream>
using namespace std;
int main()
{
    int l, r, count = 0;
    cin >> l >> r;
    for(; l <= r; l++)
    {
        while(l != 0)
        {
            if(l % 10 == 2)
                count ++;
            l /= 10;
        }
    }
    cout << count << endl;
    return 0;
}

求助!
搜索更多相关主题的帖子: 数字 代码 出现 int count 
2017-07-02 21:32
yap
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-7-2
收藏
得分:0 
回复 2楼 lmlm1001
好,但为什么第一个你说的死循环的代码也能出结果呢?我试了几组数,一二两个代码结果都是一样的,但是在Vijios上一个代码就会超时
2017-07-03 14:56
yap
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-7-2
收藏
得分:0 
回复 3楼 rjsp
好的谢谢!
再问你一下,为什么我的第二个代码也能出结果,我感觉像楼上说的是进入死循环了,但是为什么两个代码出的结果是一样的?
但是第二个代码就会超时。
2017-07-03 18:24
快速回复:提问 数字统计的题 两个代码有何不同
数据加载中...
 
   



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

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