题目:7-112 特立独行的幸福
对一个十进制数的各位数字做一次平方和,称作一次迭代。如果一个十进制数能通过若干次迭代得到 1,就称该数为幸福数。1 是一个幸福数。此外,例如 19 经过 1 次迭代得到 82,2 次迭代后得到 68,3 次迭代后得到 100,最后得到 1。则 19 就是幸福数。显然,在一个幸福数迭代到 1 的过程中经过的数字都是幸福数,它们的幸福是依附于初始数字的。例如 82、68、100 的幸福是依附于 19 的。而一个特立独行的幸福数,是在一个有限的区间内不依附于任何其它数字的;其独立性就是依附于它的的幸福数的个数。如果这个数还是个素数,则其独立性加倍。例如 19 在区间[1, 100] 内就是一个特立独行的幸福数,其独立性为 2×4=8。

另一方面,如果一个大于1的数字经过数次迭代后进入了死循环,那这个数就不幸福。例如 29 迭代得到 85、89、145、42、20、4、16、37、58、89、…… 可见 89 到 58 形成了死循环,所以 29 就不幸福。

本题就要求你编写程序,列出给定区间内的所有特立独行的幸福数和它的独立性。

输入格式:
输入在第一行给出闭区间的两个端点:1<A<B≤10
4

输出格式:
按递增顺序列出给定闭区间 [A,B] 内的所有特立独行的幸福数和它的独立性。每对数字占一行,数字间以 1 个空格分隔。

如果区间内没有幸福数,则在一行中输出 SAD。

输入样例 1:
10 40
结尾无空行
输出样例 1:
19 8
23 6
28 3
31 4
32 3
结尾无空行
注意:样例中,10、13 也都是幸福数,但它们分别依附于其他数字(如 23、31 等等),所以不输出。其它数字虽然其实也依附于其它幸福数,但因为那些数字不在给定区间 [10, 40] 内,所以它们在给定区间内是特立独行的幸福数。

输入样例 2:
110 120
结尾无空行
输出样例 2:
SAD
结尾无空行

#include<stdio.h>
#include<math.h>
int a[10001]={0};
int book[10000]={0};
int c[10000][2000];
int pingfang(int n)
{int w=0,sum=0;while(n){w=n%10;sum+=w*w;n=n/10;}return sum;
}
int sushu(int n)
{int w=2,x=0;for(x=2;x*x<=n;x++){if(n%x==0){w=1;break;}}return w;
}
int main()
{int i,j,t,k,l,x,y;scanf("%d%d",&x,&y);for(i=x;i<=y;i++){k=i;l=sushu(k);j=0;while(1){k=pingfang(k);j++;if(k==1){c[t][0]=i;c[t++][1]=l*j;break;}if(k>=x && k<=y){book[k]++;}if(a[k]==i){break;}a[k]=i;}}if(t!=0){for(i=0;i<t;i++){if(book[c[i][0]]==0){printf("%d %d\n",c[i][0],c[i][1]);}}}else{printf("SAD");}return 0;
}

PTA-特立独行的幸福(简单C语言)相关推荐

  1. PTA习题【python】 7-5 特立独行的幸福

    题目介绍 对一个十进制数的各位数字做一次平方和,称作一次迭代.如果一个十进制数能通过若干次迭代得到 1,就称该数为幸福数.1 是一个幸福数.此外,例如 19 经过 1 次迭代得到 82,2 次迭代后得 ...

  2. 7-113 特立独行的幸福 (20 分) C语言

    对一个十进制数的各位数字做一次平方和,称作一次迭代.如果一个十进制数能通过若干次迭代得到 1,就称该数为幸福数.1 是一个幸福数.此外,例如 19 经过 1 次迭代得到 82,2 次迭代后得到 68, ...

  3. 【PTA-训练day17】L2-029 特立独行的幸福 + L1-071 前世档案

    L2-029 特立独行的幸福 - 递归/模拟 + 判断素数 PTA | 程序设计类实验辅助教学平台 思路: 第一层循环是边界循环  for(int i=l;i<=r;i++) 枚举每一个i 第二 ...

  4. python简单编程-编程中最简单的语言Python,这样学或许更容易

    最近微信小程序上面出了一个跳一跳的小游戏 大家有没有玩呀? 编程中最简单的语言Python,这样学或许更容易 分享之前我还是要推荐下我自己建的Python开发学习群:628979297,群里都是学Py ...

  5. 用简单的语言描述C++ 是什么?

    用简单的语言描述C++ 是什么? 答:C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛.C++支持多种编程范式 --面向对象编程.泛型编程和过程化编程. 其编程领域众广,常用于系统开发,引 ...

  6. L2-029 特立独行的幸福 (25 分)-PAT 团体程序设计天梯赛 GPLT

    对一个十进制数的各位数字做一次平方和,称作一次迭代.如果一个十进制数能通过若干次迭代得到 1,就称该数为幸福数.1 是一个幸福数.此外,例如 19 经过 1 次迭代得到 82,2 次迭代后得到 68, ...

  7. PTA—求整数段和(C语言)

    PTA-求整数段和(C语言) 给定两个整数A和B,输出从A到B的所有整数以及这些数的和. 输入格式: 输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔. 输出格式: 首先顺 ...

  8. 【CCCC】L2-029 特立独行的幸福 (25分),模拟题,set用法

    problem L2-029 特立独行的幸福 (25分) 对一个十进制数的各位数字做一次平方和,称作一次迭代.如果一个十进制数能通过若干次迭代得到 1,就称该数为幸福数.1 是一个幸福数.此外,例如 ...

  9. 7-3 特立独行的幸福

    z作业做不出,参考网上资料自己进行修改改编的 对一个十进制数的各位数字做一次平方和,称作一次迭代.如果一个十进制数能通过若干次迭代得到 1,就称该数为幸福数.1 是一个幸福数.此外,例如 19 经过 ...

  10. 不谈高级原理,只用简单的语言来聊聊机器学习

    不谈高级原理,只用简单的语言来聊聊机器学习 ✨博主介绍

最新文章

  1. Swagger增强神器:Knife4j!用它轻松实现接口搜索、Word下载、接口过滤...
  2. 如何看服务器java_如何查看Windows服务器运行了多长时间
  3. python怎么安装pyecharts_基于Python安装pyecharts所遇的问题及解决方法
  4. mysql ——MHA
  5. Spring Boot——易班优课YOOC课群在线测试自动答题解决方案(二)答案储存
  6. Laravel测试驱动开发--反向单元测试
  7. ebpf深入理解和应用介绍
  8. python字典用法大全
  9. smalot-bootstrap-datetimepicker 使用心得
  10. java 文件读取大全
  11. C语言求素数的几种方法
  12. 【IoT】智能硬件 | 基于电力线的视频监控系统
  13. 冰雪之城鸿蒙碎片,冰雪之城地图推荐:
  14. [分享]ERP实施工程师笔试题目
  15. python 调用接口
  16. JavaCV依赖精简
  17. Windows ❀ AD域服务器的搭建(LDAP协议)
  18. PSD/PS: Matlab估计PSD的方法
  19. U盟windows phone统计分析SDK使用文档
  20. 华为无线-AC+AP小型无线网络配置实验_v1

热门文章

  1. 微信电子驾驶证怎么查询
  2. html 签名,什么是签名档?如何使用
  3. 初等变换和阶梯矩阵【】
  4. 国外游戏开发公司10强
  5. 利用@media与@media screen进行响应式布局
  6. DeepFool论文解读
  7. Spring - 关于IOC和DI的一些个人理解
  8. excel文件解密打开密码
  9. android SharePreference缓存存储List<Bean>
  10. 英语学习/词典App分析-团队作业(五)