| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1347 人关注过本帖
标题:各位好友!下面这个题目希望谁能给个思路,不需要具体代码!要的是想法!谢 ...
取消只看楼主 加入收藏
jj369258
Rank: 4
等 级:业余侠客
帖 子:116
专家分:226
注 册:2010-12-2
结帖率:69.57%
收藏
已结贴  问题点数:10 回复次数:5 
各位好友!下面这个题目希望谁能给个思路,不需要具体代码!要的是想法!谢谢
Description
给定一个十进制正整数N,写下从1开始,到N的所有整数,然后统计一下其中出现的所有的“1”的个数。例如: N=2,写下1 ,2。这样只出现了1个“1”. N=12,我们会写下1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11 ,12。这样,1的个数是5。那么,给定已知的正整数N,你是否能给出N以内所有正整数中出现1的总数。
Input
首先输入一个正整数T(1<=T<=1000),表示一共有T组测试样例,接下来有T行输入,每行输入一个正整数N(1<=N<2147483647)。
Output
针对每个测试用例,输出N以内所有正整数出现1的总数,相邻的总数结果用一个回车分隔。
Sample Input
4
1
11
15
99
Sample Output
1
4
8
20

HINT
结果值可能超出基本整形表示范围,需要用到64位的整型。
C语言中,64位的整型有两种:
第一种:用于gcc编译环境下的long long 型,其输入输出格式控制符为%lld。“lld”意为long long decimal。例如:
long long a;
scanf("%lld",&a);
printf("%lld",a);
第二种:用于Mircrosoft Visual C++编译环境的__int64。“__”为双下划线,其 输入输出格式控制符为%I64d, 其中“I64d”表示,Integer 64 decimal。例如:
__int64 a;
scanf("%I64d",&a);
printf("%I64d",a);


搜索更多相关主题的帖子: 十进制 正整数 统计 
2012-08-27 13:52
jj369258
Rank: 4
等 级:业余侠客
帖 子:116
专家分:226
注 册:2010-12-2
收藏
得分:0 
这样的话耗时比较多!运行结果是对的,但是会超时,有没有可以改进的方案!缩小时间复杂度!

#include<stdio.h>   
int main()
{
    int n,k,i,r,count,j;
    long m;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        count=0;
        scanf("%ld",&m);
        for(j=1;j<=m;j++)
        {
             k=j;
             while(k>0)
             {
                 r=k%10;
                 if(r==1)
                     count++;
                 k=k/10;
             }
        }
        printf("%d\n",count);
    }
    return 0;
}
2012-08-27 16:47
jj369258
Rank: 4
等 级:业余侠客
帖 子:116
专家分:226
注 册:2010-12-2
收藏
得分:0 
回复 6楼 LShang
我学了数据结构责骂感觉用不上啊???有什么提高程序运行效率的没!!我那个代码运行严重超时啊!求改进!求算法!
2012-08-28 23:41
jj369258
Rank: 4
等 级:业余侠客
帖 子:116
专家分:226
注 册:2010-12-2
收藏
得分:0 
回复 8楼 pangding
不满你说,感觉你涉及到的东西都怎么这么难啊!!很难看懂的!呵呵,不知道是不是缺少注释语句 啊??嘿嘿
2012-08-29 15:58
jj369258
Rank: 4
等 级:业余侠客
帖 子:116
专家分:226
注 册:2010-12-2
收藏
得分:0 
回复 17楼 zhu224039
哈哈,我体会体会哦!!!有点长!重在学习!
2012-08-29 16:01
jj369258
Rank: 4
等 级:业余侠客
帖 子:116
专家分:226
注 册:2010-12-2
收藏
得分:0 
回复 9楼 zhu224039
想法很好!!但是.....哎!!还是算了吧
2012-08-29 16:06
快速回复:各位好友!下面这个题目希望谁能给个思路,不需要具体代码!要的是想法 ...
数据加载中...
 
   



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

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