LQ0162 立方尾不变枚举

Posted 海岛Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LQ0162 立方尾不变枚举相关的知识,希望对你有一定的参考价值。

题目来源:蓝桥杯2015初赛 C++ C组B题

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

有些数字的立方的末尾正好是该数字本身。 比如:1,4,5,6,9,24,25,…
请你计算一下,在 104以内的数字中(指该数字,并非它立方后的数值),符合这个特征的正整数一共有多少个。

问题分析
枚举1到104(10000),看他的立方的尾数是否与原数相等。可以用迭代法来得到枚举的数的位数,程序逻辑就简单多了。

AC的C语言程序如下:

/* LQ0162 立方尾不变 */

#include <stdio.h>

int main()

    int cnt = 0, mod = 10;
    for (int i = 1; i <= 10000; i++) 
        if (i >= mod) mod *= 10;

        int c = i * i * i;
        if (c % mod == i) cnt++;
    
    printf("%d\\n", cnt);

    return 0;

以上是关于LQ0162 立方尾不变枚举的主要内容,如果未能解决你的问题,请参考以下文章

立方尾不变

LQ0112 立方和进制

LQ0006 奇妙的数字暴力

LQ0006 奇妙的数字暴力

LQ0082 货物摆放因子+枚举

(枚举)完美立方