题目描述

为了迎接圣诞,信息学兴趣小组的同学在辅导老师的带领下,举办了一个盛大的晚会,晚会的第一项内容是做游戏:猜数。老师给每位同学发一张卡片,每张卡片上都有一个编号(此编号为非负数,且小于255),每个编号互不相同。老师制定了以下的游戏规则:第一轮,每位同学将自己卡片上编号的各位数字进行平方后再相加得到一组新数,编号在这组新数中出现的同学淘汰出局,第二轮,余下的同学再将编号的各位数字进行立方相加得到一组新数,编号在这组新数中出现的同学再淘汰出局,第三轮,余下的同学再将编号的各位数字进行4次方相加得到一组新数,编号在这组新数中出现的同学再淘汰出局,……,以此类推,经过n轮后,仍留下来的同学,将获得圣诞特别礼物,卡片上的数即为2007年吉祥数。(假定班级人数不超过200人)

输入格式

输入有两行,第1行为1个正整数n(n<8),表示有n轮游戏,第二行是卡片上互不相同的编号。
输出:剩下来的各个吉祥数,按从小到大顺序输出,每两个数之间有一个空格。

输出格式

输出是1行,为剩下来的各个吉祥数,按从小到大顺序输出,每两个数之间有一个空格。

样例输入

1 24 123 2 12 20 14 4 6 36 72

样例输出

2 6 12 24 72 123

三维状态图像


本人觉得自己这个排序写的很优美~

#include<stdio.h> #include<stdlib.h> int len,n; struct ss { int x,y; } a[300]; int pow(int x,int y) { int tem=1; for (int i=1;i<=y;++i) tem*=x; return tem; } int change(int a,int b) { int tem=0; while (a!=0) { tem+=pow(a%10,b); a/=10; } return tem; } int cmp(const void*a,const void*b) { ss c=*(ss*)a,d=*(ss*)b; if ((c.y==-1)&&(d.y!=-1)) return 1; if ((c.y!=-1)&&(d.y==-1)) return -1; if ((c.y==-1)&&(d.y==-1)) return 0; if (c.x<d.x) return -1; if (c.x>d.x) return 1; return 0; } int main() { scanf("%d",&n); len=1; while (scanf("%d",&a[len].x)!=EOF) ++len; --len; for (int i=0;i<n;++i) { for (int j=1;j<=len;++j) { int tem=change(a[j].x,i+2); for (int j=1;j<=len;++j) if (a[j].x==tem) a[j].y=-1; } qsort(a,len+1,sizeof(ss),cmp); while (a[len].y==-1) --len; } for (int i=1;i<len;++i) printf("%d ",a[i].x); printf("%d/n",a[len].x); return 0; }

【其他】【RQNOJ】吉祥数相关推荐

  1. RQNOJ 154 吉祥数

    题目描述 为了迎接圣诞,信息学兴趣小组的同学在辅导老师的带领下,举办了一个盛大的晚会,晚会的第一项内容是做游戏:猜数.老师给每位同学发一张卡片,每张卡片上都有一个编号(此编号为非负数,且小于255), ...

  2. 1184: 零基础学C/C++184——吉祥数

    Problem1184: 零基础学C/C++184--吉祥数 题目描述 为了迎接圣诞,信息学兴趣小组的同学在辅导老师的带领下,举办了一个盛大的晚会,晚会的第一项内容是做游戏:猜数.老师给每位同学发一张 ...

  3. 搜寻吉祥数,在给定的范围内,例如1~99999,找出吉祥数字,满足的条件为:全部数字必须由6或者8构成,如66666,66668,668,…

    题目:在给定的范围内,例如1~99999,找出吉祥数字,满足的条件为:全部数字必须由6或者8构成,如66666,66668,668,- 1.一开始想的很杂,考虑了效率:把要查找的数转化成String再 ...

  4. C++编程题目:吉祥数 题解+代码

    题目描述 为了迎接圣诞,信息学兴趣小组的同学们在辅导老师的带领下,举办了一个盛大的晚会,晚会的第一项内容是做游戏:猜数.老师给每位同学发一张卡片,每张卡片上都有一个编号(此编号为非负数,且小于255) ...

  5. 浙江理工大学 我的编程之路 零基础学C/C++ 200题 标程/题解

    浙江理工大学 我的编程之路 零基础学C/C++ 200题 标程/题解 OJ地址:http://47.96.116.66/index.php 标程/题解GitHub:https://github.com ...

  6. 浙江理工大学c语言作业网站,浙江理工大学 我的编程之路 零基础学C/C++ 200题 标程/题解...

    浙江理工大学 我的编程之路 零基础学C/C++ 200题 标程/题解 OJ地址:http://47.96.116.66/index.php 标程/题解GitHub:https://github.com ...

  7. 乔布斯留下的那颗「苹果」已经45岁啦!库克:旅程才刚刚开始

    ????????关注后回复 "进群" ,拉你进程序员交流群????????   新智元报道   来源:外媒 编辑:LQ [新智元导读]成立于1976年的苹果今年45岁了,如果将它比 ...

  8. 文献阅读——《唐长安城的利益空间-以皇帝礼仪的舞台为中心》

    妹尾达彦<唐长安城的礼仪空间-以皇帝礼仪的舞台为中心> 隋唐初的礼仪空间:探究隋唐长安城的城市规划中体现的古典性 唐长安城城市规划特征--各种传统思想有机的深入城市规划各处 1.<周 ...

  9. 2023年你最值得了解的信息技术-AI篇(一)

    列表 85 - 其他 辽宁省 大连优联智能 自动化生产线提供商 未融资 大连优联智能是一家自动化生产线提供商,集规划设计.制造安装.系统集成.视觉检测及AI数据智能分析于一体,可为汽车车身及发动机制造 ...

最新文章

  1. 史上最全数据结构算法之递归系列学习,建议收藏!
  2. 高清还原破损视频,参数和训练时间减少三分之二,台大这项研究登上了BMVC 2019...
  3. 解析Java多线程的两点误区你必知的
  4. python cnn_使用python中pytorch库实现cnn对mnist的识别
  5. python函数参数学习_python函数学习1
  6. 华为Mate40系列安兔兔跑分曝光:麒麟9000性能超骁龙865
  7. 汇编语言转为c语言,如何把汇编语言转换成C语言
  8. dategurd oracle_Oracle之11g DataGuard
  9. Oracle redo 日志切换时间频率
  10. cf-#189-div 2
  11. 2021/4/2听宫老师演讲有感。
  12. 算法导论第三版 第1章习题答案
  13. Brother-MFC系列打印机 PDF双面打印设置
  14. 中科院阿里云发布11比特云超导量子处理器
  15. java-php-python-ssm抑郁症患者博客交流平台计算机毕业设计
  16. una到底啥意思_una到底啥意思_Una_英文名Una是什么意思
  17. 微信支付V3版本的 签名生成,验签,解密,统一下单的简单封装
  18. 将test1文件下的.java文件复制到copy文件下
  19. 【Python代码】文件查重(01)-简易版
  20. android activity获取dialog对象,Android开发笔记之:Dialog的使用详解

热门文章

  1. 可惜我是水瓶座 你不懂的水瓶座,不为人知的秘密
  2. 基于Java的学生兼职平台设计与实现
  3. 愿世界没有技术面全是Hr面
  4. solidworks2014激活失效该怎么办?
  5. vulfocus——骑士cms任意代码执行(CVE-2020-35339)
  6. 计算机其他图标删除,我的电脑其他图标删除方法介绍
  7. js模仿微信打飞机游戏代码
  8. 企业应如何运用ERP系统的BOM表?
  9. 仿热血江湖帮战客方.申请人物列表
  10. pc版qq登录及移动版qq登录的申请过程