守形数
Posted Just_for_Myself
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了守形数相关的知识,希望对你有一定的参考价值。
题目截图:
思路:
首先,只有尾数为 0,1,5,6 的数才可能为守形数,所以其他可以直接排除。然后对其他的数进行判断即可。
代码如下:
1 /* 2 守形数 3 */ 4 5 #include <stdio.h> 6 #include <string.h> 7 #include <math.h> 8 #include <stdlib.h> 9 #include <time.h> 10 #include <stdbool.h> 11 12 int main() { 13 int N; 14 while(scanf("%d", &N) != EOF) { 15 int g = N%10; // 提取尾数 16 // 只有尾数为 0,1,5,6 的数才可能为守形数 17 if(g==1 || g==5 || g==6 || g==0) { 18 int t = N*N; 19 int ans=10; // 用来提取低位部分 20 if(N > 10) { 21 ans = 100; 22 } 23 if(t%ans == N) { // 判断是否是守形数 24 printf("Yes!\\n"); 25 } else { 26 printf("No!\\n"); 27 } 28 } else { 29 printf("No!\\n"); 30 } 31 } 32 33 return 0; 34 }
以上是关于守形数的主要内容,如果未能解决你的问题,请参考以下文章