数羊帮助睡眠,123123.就包含了11.22.33(

1500 -- 数羊DescriptionSmartSmart想到了一个帮助睡眠的方法:数羊。首先,她挑出一个整数 N。然后她开始数数, N,2× 2×N,3× 3×N,等等。 当她数出一个数时,她会在心里计算这个数包含的所有数字。比如

img

#include <stdio.h>
 
int main()
{
    int N;
    scanf("%d", &N);
    int a[10] = { 0 };
    for (int i = 1; i * N <= 2147483647; i++)
    {
        int j = i * N;
        while (j > 0)
        {
            a[j % 10] = 1;
            j /= 10;
        }
        int flag = 0;
        for (int i = 0; i < 10; i++)
            flag += a[i];
        if (flag == 10)
        {
            printf("%d", i * N);
            return 0;
        }
    }
    printf("INSOMNIA");
    return 0;
}

img

【以下回答由 GPT 生成】

#include <iostream>
#include <vector>

// Helper function to calculate the sum of digits of a number
int sumOfDigits(int n) {
    int sum = 0;
    while (n > 0) {
        sum += n % 10;
        n /= 10;
    }
    return sum;
}

// Function to calculate the total digit count from 1 to N, 2N, 3N, ...
int calculateTotalDigitCount(int N) {
    int totalDigitCount = 0;

    for (int i = 1; i <= N; i++) {
        int num = i;
        while (num <= N) {
            totalDigitCount += sumOfDigits(num);
            num += i;
        }
    }

    return totalDigitCount;
}

int main() {
    int N;
    std::cout << "Enter a number: ";
    std::cin >> N;

    int totalDigitCount = calculateTotalDigitCount(N);
    std::cout << "Total digit count: " << totalDigitCount << std::endl;

    return 0;
}

这是一个使用C++编写的程序,用于计算从1到N,2N,3N等等的所有数字中包含的数字总数。程序首先定义了一个辅助函数 sumOfDigits,用于计算数字的各个位数之和。

然后,主函数 calculateTotalDigitCount 接受用户输入的一个整数N,并使用两个嵌套的循环来计算从1到N,2N,3N等等的所有数字中包含的数字总数。外层循环从1到N遍历每个数字,内层循环以步长为i递增,计算从i到N的所有数字。

最后,主函数输出结果并返回。

请注意,在这个问题中,我们假设输入的N是正整数。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^