问题标题: 个位是6的平方数

1
0
已解决
谈文瑞
谈文瑞
新手光能
新手光能

输出x以内个位数为6的自然数的平方数。(1<=x<=10000)

输入:40

输出:36 256 676 1296

说明:6的平方是36,16的平方是256,26的平方是676,36的平方是1296。


0
已采纳
蒋智航
蒋智航
高级天翼
高级天翼

为使个位为⑥,那么循环应该从6起直到你输入的数,i的跨度为10

即 for (int i=6;i<=x;i+=10)

这已经个位数为6了,直接cout<<i*i<<' ';

 

AC啦!

本题考的是for的单次表达式;条件表达式;末尾循环体的灵活运用

蒋智航在2018-08-07 13:05:22追加了内容

记住,直接输出i*i是在循环里面输出,不是在外面输出

0
李祈乐
李祈乐
新手光能
新手光能

首先观察个位数为6的自然数,平分的特点,一个数平方个位数是6,那么能得到这种情况的自然数,平方根的个位数必然是6,

因此,思路为:如果这个数个位数字是6(平方肯定是6),就输出这个数的平方

for(int i=1;i<=n;i++)
    {
        if(i%10==6)
        {
            long long ans=i*i;
            cout<<ans<<" ";
        }

    }

注:x最大为10000,超出int范围,因此在考虑输出时,用longlong类型每次存储答案,并输出

0
我要回答