社区讨论

求助各路大神!!!这么写对吗?该怎么优化代码才能让运行时间更短

P1554[USACO06DEC] 梦中的统计 Dream Counting B参与者 5已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@m4tbnzsa
此快照首次捕获于
2024/12/18 11:17
去年
此快照最后确认于
2025/11/04 12:41
4 个月前
查看原帖
C
#include <stdio.h>

#define MAXN1 2000000000
#define MAXN2 500000
#define MINN 1
int main() {
    int a, b;
    int count[10]={0};
    //int current;
    //int arr[10] = {0,1,2,3,4,5,6,7,8,9};

    scanf("%d %d", &a, &b);

    if(a>=MINN && b<=MAXN1 && b>=a && b-a<=MAXN2){
       for (int current = a; current <= b; current++) {
            // 对当前数字的每一位进行处理
            while (current > 0) {
                int temp = current % 10;  // 获取当前数字的最后一位
                count[temp]++;  // 统计该数字出现的次数
                current /= 10;  // 去掉最后一位
            }
        }
    }

    for(int i=0;i<10;i++){
        if(i != 9){
            printf("%d ",count[i]);
        }else{
            printf("%d",count[i]);
        }
    }

    return 0;

}

回复

4 条回复,欢迎继续交流。

正在加载回复...