首页 > 代码库 > 输出1-256之间一个数的平方是回文数
输出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之间一个数的平方是回文数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。