【牛客刷题】每日一练——自守数

简介: 【牛客刷题】每日一练——自守数

hello,进来的小伙伴们,你们好呐!

系列专栏:【牛客刷题】

作者简介:一名双非本科的大三在读生,我很平凡,学会努力!

给大家推荐一个超级好用的刷题网站——牛客网!‘


一、自守数

数学的世界有很多很漂亮的数字或者数字集合,比如梅森数,哥德巴赫猜想,水仙花数,完全数,自守数。今天我们就一起来探究一下自守数。自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。请求出n以内的自守数的个数。

输入格式:

第一行输入n,随后输入n个数m。

输出格式:

在一行中输出m以内自守数的个数,所有输出在一行内完成,末尾没有多余空格。

输入样例:

   5

   1

   2

   3

   4

   5

输出样例:

2 2 2 2 3

解题思想:本题第一个关键就是要先求出我们给出数字的位数,然后用n*n除以pow(10,number);便可得到我们的数字n,与之比较是否相等,若相等,则count++,因为0就是自守数,所以最后我们输出的时候是count+1;

   #include<stdio.h>

   #include<math.h>

   //计算位数

   int number(int m)

   {

       int count = 0;

       while(m!=0)

       {

           count++;

           m = m/10;

       }

       return count;

   }

   //计算切断之后的数

   int cutNumber(int x,int number)

   {

       return x%(int)pow(10,number);

   }

   int main()

   {

       int n = 0;

       int m=0;

       scanf("%d",&n);

       while(n--)

       {

           int count = 0;

           scanf("%d",&m);

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

           {

               if(i==cutNumber(i*i,number(i)))

               {

                   count++;

               }

           }

           if(n==0)

           {

               printf("%d",count+1);

           }

           else

           {

               printf("%d ",count+1);

           }

       }

       return 0;

   }


相关文章
|
1月前
lanqiao OJ 2143 最少刷题数
lanqiao OJ 2143 最少刷题数
12 0
|
5月前
|
存储 容器
【LeetCode刷题】只出现一次的数字(Ⅰ、Ⅱ、Ⅲ)
【LeetCode刷题】只出现一次的数字(Ⅰ、Ⅱ、Ⅲ)
|
6月前
|
存储 索引 Python
LeetCode刷题笔记(1)—— 两数之和
LeetCode刷题笔记(1)—— 两数之和
|
6月前
leetcode279完全平方数刷题打卡
leetcode279完全平方数刷题打卡
38 0
|
6月前
剑指Offer LeetCode 面试题57. 和为s的两个数字
剑指Offer LeetCode 面试题57. 和为s的两个数字
32 0
快乐数(力扣刷题)
快乐数(力扣刷题)
|
算法
Leecode202. 快乐数
Leecode202. 快乐数
66 0
|
存储 Java
《LeetCode刷题》—136.只出现一次的数字
《LeetCode刷题》—136.只出现一次的数字
91 0
《LeetCode刷题》—136.只出现一次的数字
刷 leetcode三个数的最大乘积 | 刷题打卡
刷 leetcode三个数的最大乘积 | 刷题打卡
87 0
|
算法
LeetCode每日一题——面试题 17.09. 第 k 个数
有些数的素因子只有 3,5,7,请设计一个算法找出第 k 个数。注意,不是必须有这些素因子,而是必须不包含其他的素因子。例如,前几个数按顺序应该是 1,3,5,7,9,15,21。
86 0