1049 Counting Ones(简单数学)

it2025-12-04  1

题目描述如下: 题目大致意思: 题目理解起来很简单,给出一个正整数,求出从1到该正整数中1出现的个数。 大致思路: 最简单的想法是从1到N进行遍历,累加1出现的次数即可,应该不会超出时间限制。 提交结果如下: 出乎意料的是有两个测试用例运行超时了,解决的方法暂时放在第二轮刷题时考虑。

第一次提交运行超时时提交的代码:

#include<iostream> #include<string> using namespace std; int func(int n); int main() { int n; cin>>n; int sum=0; for(int i=1;i<=n;i++) { sum+=func(i); } cout<<sum; } int func(int n) { int result=0; string str=to_string(n); for(int i=0;i<str.size();i++) { if(str[i]=='1') result++; } return result; }

本次提交后累计得分826。

最新回复(0)