求助站外题
  • 板块学术版
  • 楼主zhangxuecheng
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/7/8 10:42
  • 上次更新2024/7/8 11:49:52
查看原帖
求助站外题
1012807
zhangxuecheng楼主2024/7/8 10:42

题目:

给定一个十进制正整数n(1≤n≤10000),写下从1到n的所有整数,然后数一下其中出现的数字“1”的个数。例如当n=2时,写下1,2。这样只出现了1个“1”;当n=12时,写下1,2,3,4,5,6,7,8,9,10,11,12。这样出现了5个“1”。

我的代码:

#include<iostream>
#define endl \n
using namespace std;
int main(){
    int n;
    int ans=0;
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        while(i>0){
            int w=i%10;
            i/=10;
            if(w==1){
                ans++;
            }
        }
    }
    printf("%d",ans);
}

TLE!!! 大犇们救我

2024/7/8 10:42
加载中...