自守数

一、问题描述

自守数是指一个数的平方的尾数等于该数自身的自然数。

例如:52=25   252=625  762=5776  93762=87909376

求100000以内的自守数。

二、设计思路

    从1循环到100000,找到它们尾数的平方,与数本身作对比,如果等于就是自守数

三、流程图

 

四、伪代码

For(10000次)

找尾数的平方

将尾数的平方与数本身比较

如果等于就是自守数

五、代码实现

#include<iostream>

using namespace std;

int main()

{

       /*cout<<36699%1000<<endl;*/

       for(int i=1;i<=100000;i++)

       {

              if(i<10)

              {

                     if((i*i)%10==i)

                     {

                            cout<<i<<"  ";

                     }

              }

              else if(i>=10&&i<100)

              {

                     if((i%10)*(i%10)==i)

                     {

                            cout<<i<<"  ";

                     }

              }

              else if(i>=100&&i<1000)

              {

                     if((i%100)*(i%100)==i)

                     {

                            cout<<i<<"  ";

                     }

              }

              else if(i>=1000&&i<10000)

              {

                     if((i%100)*(i%100)==i)

                     {

                            cout<<i<<"  ";

                     }

              }

              else

              {

                     if((i%1000)*(i%1000)==i)

                     {

                            cout<<i<<endl;

                     }

              }

       }

      

 

}

posted @ 2023-05-10 09:35  八千里路云和月色  阅读(186)  评论(0)    收藏  举报