关于金蝉平方数

来源:互联网 发布:zyfile.js插件 编辑:程序博客网 时间:2024/04/30 14:28

今天偶然看到了一个题目,是关于金蝉平方数的,所以在这里和大家分享分享,我在百度里搜了半天也没搜到答案,最后自己反复调试终于解决了这个问题,所以粘贴上源代码供大家借鉴,当然可能算法不是最好的,也希望大家提出修改意见。

题目:整数a是由1,2,...,9这9个数字无重复地选取至少三个数字组成,它是一个完全平方数。经过一次脱壳(即同时去掉其最高位和最低位数字)后剩下的数字依然是平方数。如果剩下的数仍然是大于两位,再行脱壳后剩下的数仍然是平方数。一次类推,直至最后剩下的数(1位或2位)仍是平方数。试编程求出所有的金蝉平方数。

分析:该题目可以分三步求解

1求出所有的平方数

2去掉有重复数字的平方数

3进行脱壳操作,输出满足操作的数

代码如下:



#include<stdio.h>#include<stdlib.h>#include<memory.h>#include<string.h>#include<math.h>#define MAX 987654321int a[50000];int b[50000];void getpow(int *p);int getdouble(int *p, int *m);bool getking(int x);bool is_pow(int x);int main(){memset(a, 0, sizeof(a));memset(b, 0, sizeof(b));getpow(a);int k = getdouble(a, b);for (int i = 0; i < k; i++){if (getking(b[i]))printf("%d\t", b[i]);}return 0;}void getpow(int *p)//得到所有的完全平方数{int i, a;int j = 0;a = (int)sqrt(MAX*1.0);for (i = 11; i <= a; i++){p[j] = i*i;j++;}}int getdouble(int *p, int *m)//得到没有重复数字的平方数并返回其个数{int i, a, cnt = 0, k = 0;a = (int)sqrt(MAX*1.0);char s[10];char string[10] = "987654321";for (i = 0; i < a-10; i++){itoa(p[i], s, 10);int len = strlen(s);for (int j = 0; j < 9; j++){if (!strchr(s, string[j]))cnt++;}if (len + cnt == 9){m[k] = p[i];k++;}cnt = 0;}return k;}bool is_pow(int x)//判断一个数是否是平方数{int a = (int)floor(sqrt(x*1.0));if (a*a == x)return true;else return false;}bool getking(int x)//进行脱壳操作,若数x满足此操作,返回true否则返回false{if (x < 100){if (is_pow(x))return true;else return false;}x = x / 10;char s[10];itoa(x, s, 10);int len = strlen(s);int i = 1, t = 1;while (i < len){t *= 10;i++;}x = x%t;if (is_pow(x))return getking(x);else return false;}


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 汽车停小区被刮怎么办 下楼梯摔跤了 屁股疼 怎么办 剧烈咳嗽震的肚子疼怎么办 饺子粘在盘子上怎么办 生饺子粘在盘子怎么办 饺子粘在案板上怎么办 饺子冷冻粘起了怎么办 冰箱饺子冻住了怎么办 水饺都冻一块了怎么办 wps卸载了后文件打不开怎么办 六角螺母拧滑了怎么办 梅花内六角螺丝扭滑丝了怎么办 眼镜螺丝滑丝了怎么办 大螺丝拆不下来怎么办 一字螺丝扭不动怎么办 带帽的螺丝拧花怎么办 螺丝拧不出来了怎么办 小六角螺丝滑丝怎么办 螺丝拧不下来了怎么办 固定水龙头的螺母扭不动怎么办 小螺丝帽拧花了怎么办 6角螺丝帽拧圆了怎么办 眼镜螺丝滑扣了怎么办 眼镜的螺丝掉了怎么办 螺丝松了怎么办小窍门 螺丝松了怎么办 小窍门 小螺丝完全滑牙怎么办 车座椅螺丝滑丝怎么办 塑料柱突然滑牙怎么办 螺丝底座滑丝了怎么办 螺丝拧木头不紧怎么办 六方螺母滑了怎么办 螺母滑丝怎么拧下来怎么办 安装车牌螺丝眼滑丝了怎么办 注塑机孔螺丝洞滑丝了怎么办 空调内机螺丝洞滑丝了怎么办 小螺丝钉滑牙了怎么办? 螺丝滑扣了怎么办 松 苹果8p螺丝滑了怎么办 座椅孔螺丝滑了怎么办 车轮胎螺丝突扣了怎么办