El número de ocurrencias de 1 en JZ31 entero

Título descripción
Encuentra el número de ocurrencias de 1 en el entero de 1 13, y calcula el número de ocurrencias de 1 en el entero de 100 1300? Por esta razón, contó especialmente los números que contienen 1 del 1 al 13. Son 1, 10, 11, 12 y 13, por lo que son 6 veces en total, pero no tiene nada que ver con las siguientes preguntas. ACMer espera que pueda ayudarlo y hacer que el problema sea más generalizado. Puede encontrar rápidamente el número de ocurrencias de 1 en cualquier intervalo entero no negativo (el número de ocurrencias de 1 de 1 a n).

Solución: El método más directo es atravesar los números del 1 al n, y verificar sucesivamente la ocurrencia de 1. El procedimiento de implementación es el siguiente:

class Solution {
    
    
public:
    int NumberOf1Between1AndN_Solution(int n)
    {
    
    
        int cnt = 0;
        int m = 0;
        
        for(int i = 1;i <= n;i++)
        {
    
    
            for(int j = i; j > 0; j /= 10)
            {
    
    
                if(j % 10 == 1)
                    cnt++;
            }
        }
        
        return cnt;
    }
};

Supongo que te gusta

Origin blog.csdn.net/pikaqiu_n95/article/details/110100668
Recomendado
Clasificación