zoukankan      html  css  js  c++  java
  • 计算“1”的数量

    算法思路:

      采用遍历的算法,从1到M,一个一个计算1的个数。统计出来。

    代码:

    #include <iostream>
    using namespace std;
    
    int f(int m)
    {
        int n = 0;
        for (int b = 1;b <= m ;b++)
        {
            int i = b;
            while(i > 0)
            {
                if (i%10 == 1)
                {
                    n++;
                }
                i = i/10;
            }
    
        }
        return n;
    }
    void main()
    {
        int m;
        cin >> m;
        for (int i = 1;i <= m;i++)
        {
            if (i == f(i))
            {
                cout << i;
            }
        }
    }

    截图:

    总结:

      思路很简单,复杂的写不出来。虽然知道怎么回事,但是编不出来。

      由于算法复杂度太高,所以数字达到50000以上的数字,就需要运行好久才会出结果。

  • 相关阅读:
    java面试
    java多态
    java多线程
    Java操作ElasticSearch
    liunx安装jdk
    linux安装Elasticsearch详细步骤
    java IO流
    java递归
    File文件类
    redis单机多节点集群
  • 原文地址:https://www.cnblogs.com/zrdm/p/4552750.html
Copyright © 2011-2022 走看看