输出1-256之间一个数的平方是回文数
Posted L的存在
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了输出1-256之间一个数的平方是回文数相关的知识,希望对你有一定的参考价值。
方法;
通过一个函数求出这个数一共是几位数
循环取余数依次放入临时数组
通过数组下标循环判断
1 //功能:打印所有不超过 n( n<256)的其平方具有对称性的数(也称回文数) 2 3 4 5 #include<stdio.h> 6 #include<stdlib.h> 7 8 int judg(int); 9 int getBit(int); //返回整数值的位数 10 11 void main(){ 12 for (int i = 0; i < 256; i++) 13 { 14 int flag = judg(i*i); //进入函数判断是否为回文数 1为回文,0为非回文 15 if (flag == 1) 16 printf("%d * %d = %d \\n", i, i, i*i); 17 } 18 system("pause"); 19 } 20 21 int judg(int n){ 22 int a[10] = { 0 }; 23 int t = getBit(n);//得到一共有几位数 24 for (int i = 0; i < t; i++){ //将每一位数传给数组a 25 26 a[i] = n % 10;//取余数 123->3 2 1 27 n /= 10;//123/10->12 1 28 } 29 /*for (int i = 0; i < t; i++){ 30 31 printf("%d",a[i]); 32 }*/ 33 34 int flag = 1; //标示符flag 1位回文 35 for (int i = 0; i<t / 2; i++){ //利用数组下标判断是否为回文数 36 37 if (a[i] != a[t - 1 - i]){ 38 flag = 0; 39 break; 40 } 41 } 42 return flag; 43 } 44 45 //得到数字有几位数 46 int getBit(int n){ 47 int x = 0; 48 while (n > 0){ 49 x++; 50 n /= 10; 51 } 52 return x; 53 }
以上是关于输出1-256之间一个数的平方是回文数的主要内容,如果未能解决你的问题,请参考以下文章