📌  相关文章
📜  国际空间研究组织 | ISRO CS 2020 |问题 48(1)

📅  最后修改于: 2023-12-03 15:23:04.726000             🧑  作者: Mango

国际空间研究组织 | ISRO CS 2020 |问题 48

该问题要求编写一个程序,以数字N为输入,找到从1到N的所有数字中,数字4的出现次数。以下是可行的解决方案:

思路

我们可以对输入的数字进行逐个位数判断,如果找到数字4,则记录一次次数。例如,当N为14时,数字4会出现两次。

代码

以下是Python 3语言的代码示例:

def count_number_of_fours(n: int) -> int:
    count = 0
    for number in range(1, n+1):
        count += str(number).count('4')
    return count
解释

该函数接受一个数字N作为输入,并返回1到N中数字4的出现次数。

首先,我们将计数器设为0,接着使用 for 循环依次遍历从1到N中的每个数字。

在循环的每次迭代中,我们使用 str() 将数字转换为字符串,然后使用 count() 方法计算其中数字4的出现次数。

最后,我们将每次的数量添加到计数器中,最终返回计数器的值。

测试

我们可以使用以下代码片段测试该函数:

assert count_number_of_fours(4) == 1
assert count_number_of_fours(44) == 9
assert count_number_of_fours(400) == 63
结论

该函数可以成功地计算1到N中数字4的出现次数。现在,我们可以使用该函数帮助国际空间研究组织进行数字计算工作。