zoukankan      html  css  js  c++  java
  • UVa 1225

    1.题目大意

    把前n$(nle 10000)$个整数顺次写在一起:12345678910111213……计算0~9各出现了多少次。

    2.思路

    第一想法是打表,然而觉得稍微有点暴力。不过暂时没有想到更好的办法了,写完看了一下其它人的思路好像也差不多是打表的思路。

    3.应注意的问题

    (1)首先是格式问题,我第一次提交的时候PE了,因为没有意识到空格也会有影响。最开始我的最后一段代码是:

    for(i=0;i<10;i++)
            printf("%d ",s[n][i]);    
        printf("
    ");
    

    但是事实证明应该写成:

     for(i=0;i<9;i++)
            printf("%d ",s[n][i]);
            printf("%d",s[n][9]);
        printf("
    ");
    

    (2)打表的时候容易忘记初始化的时候先清零一次。因此在以后用到打表的时候要注意这个问题。

    4.代码

    #include"stdio.h"
    #include"string.h"
    #define maxn 10001
    int main()
    {
        int s[maxn][10];
        int i,j,n,m,T;
        memset(s,0,sizeof(s));//数组清零 易漏
        for(i=1; i<maxn; i++)
        {
            m=i;
            for(j=0; j<10; j++)
                s[i][j]=s[i-1][j]; 
            while(m>0)
            {
                s[i][m%10]++;
                m/=10;
            }
        }
        scanf("%d",&T);
        while(T--)
        {
            scanf("%d",&n);
            for(i=0; i<9; i++)
                printf("%d ",s[n][i]);
            printf("%d",s[n][9]);
            printf("
    ");
        }
        return 0;
    }
    

      

    参考书目:算法竞赛入门经典(第2版) 刘汝佳 编著

  • 相关阅读:
    函数式编程
    scala 有 + 运算符吗?
    使用 Idea 打 scala程序的 jar 包
    相见恨晚的 scala
    半夜思考,为什么 String 具有不变性
    我的常用
    DataTable学习笔记
    Js 操作cookie
    嵌套的 ajax 请求
    Jquery插件收集【m了慢慢学】
  • 原文地址:https://www.cnblogs.com/rgvb178/p/5950668.html
Copyright © 2011-2022 走看看