标题:关于程序运行超时的问题
取消只看楼主
Dyson_0
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-10-9
 问题点数:0 回复次数:1 
关于程序运行超时的问题
问题:有一个里程计数器,汽车每走一公里它计数一次,但是它每次都会跳过含有3和8的数字,例如29的下一个不是30,而是40.,15229的下一个不是15230而是15240。现在给出一个读数,问汽车实际走了多少公里?(输入0时则不输出答案。)
以下是我的代码,超时了,请问怎么进行优化?
#include<stdio.h>
int main()
{
    int reading = 0, t = 0;    /*t is used to store the value of i*/
    int flag = 1, actual_num = 0;

    while(1)
    {
        scanf("%d", &reading);
        if(reading == 0)
            break;
        actual_num = 0;
        for(int i = 1;i <= reading;i++)
        {
            t = i;
            while(i != 0)
            {
                if(i % 10 == 3 || i % 10 == 8 )  //determine whether there is 3 or 8 in the number
                {
                    flag = 0;
                    break;           
                }
                i = i/10;   
            }
            if(flag)
                actual_num++;
            i = t;
            flag = 1;
        }
        printf("%d: %d\n", reading, actual_num);
    }

    return 0;
}
搜索更多相关主题的帖子: reading include 计数器 store 汽车 
2016-10-21 09:37
Dyson_0
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2016-10-9
得分:0 
回复 4楼 linlulu001
不好意思  刚刚看到您的回复。谢谢你的解答。
2016-10-27 23:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-470052-1-1.html




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

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