当前位置: 代码迷 >> 综合 >> 1049 Counting Ones(简单数学)
  详细解决方案

1049 Counting Ones(简单数学)

热度:56   发布时间:2024-03-07 06:25:21.0

题目描述如下:
在这里插入图片描述
题目大致意思:
题目理解起来很简单,给出一个正整数,求出从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。

  相关解决方案