#include <stdlib.h>
#include <stdio.h>
void bubble_sort(int arr[], int len);
int main(void)
{//part1:输入数据int k = 0;int temp = 0;scanf("%d", &k);int* number = (int*)malloc(sizeof(int) * k);for (int i = 0;i < k;i++)scanf("%d", &number[i]);//part2:寻找key number(不可覆盖数)for (int a = 0;a < k;a++){temp = number[a];while (temp != 1){//生成数字,寻找可覆盖数并将其“覆盖”为1(while条件为不等于1)if (temp % 2 == 1)temp = 3 * temp + 1;temp /= 2;for (int b = 0;b < k;b++){if ( temp == number[b]){number[b] = 1;//题给数据无重复,找到可覆盖数后没有继续寻找的意义,故breakbreak;}}}}//part3:冒泡排序以及输出bubble_sort(number, k);for (int i = 0;number[i]!=1 && i < k;i++){printf("%d", number[i]);/*在不计数情况下输出空格:情况1:输入数据个数为1,不输出空格;情况2:输入数据个数大于1,number[i + 1] == 1时不输出空格,注意不可写成if ( number[i + 1] != 1&&k > 1 ),k==1时数组越界!*/if (k > 1 && number[i + 1] != 1)putchar(' ');}return 0;
}
void bubble_sort(int arr[], int len)
{int i, j, temp;for (i = 0; i < len - 1; i++)for (j = 0; j < len - 1 - i; j++)if (arr[j] < arr[j + 1]){temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}
}

总结:困就别写代码,好好休息!写不出来的!睡一觉比想1小时管用多了!

【C语言】PAT乙级:1005 继续(3n+1)猜想相关推荐

  1. PAT乙级 1005 继续(3n+1)猜想 (25分)

    1005 继续(3n+1)猜想 (25分) 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中 ...

  2. pat 乙级 1005 继续(3n+1)猜想(C++)

    题目 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对 n=3 进行验 ...

  3. PAT乙级 1005继续3n+1猜想

    当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对 n=3 进行验证的时候,我们需要计算 3.5.8.4.2.1,则当我们对 n=5.8.4.2 进行验证的时候, ...

  4. PAT乙级(1005 继续(3n+1)猜想)

    卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对 n=3 进行验证的时 ...

  5. PAT 乙级 1005. 继续(3n+1)猜想 (25) Java版

    卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对n=3进行验证的时候, ...

  6. PAT乙级1005 继续(3n+1)猜想//散列初级运用

    拉兹(Callatz)猜想已经在B1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对 n=3 进行验证的时 ...

  7. C++学习之路 | PTA乙级—— 1005 继续(3n+1)猜想 (25分)(精简)

    1005 继续(3n+1)猜想 (25分) 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中 ...

  8. 【PAT乙】1005 继续(3n+1)猜想 (25分)

    problem 1005 继续(3n+1)猜想 (25分) 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以 ...

  9. 浙江大学PAT (Basic Level) Practice (中文)1005继续(3n+1)猜想JAVA实现代码及分析

    1005 继续(3n+1)猜想 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个 ...

  10. 1005 继续(3n+1)猜想 (25分)

    1005 继续(3n+1)猜想 (25分) 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中 ...

最新文章

  1. 在AWS Lambda上运行脚本语言:PHP、Ruby和Go(外文翻译)
  2. JTAG与STC,DEBUGWIRE区别
  3. statsmodels 笔记:seasonal_decompose 时间序列分解
  4. java 不规则 拼图_Java中不一致的操作会扩大规则
  5. elementui table某一列是否显示_Vue项目引进ElementUI组件的方法
  6. JAVA进阶开发之(异常类)
  7. 数据查询和业务流分开_TiDB HTAP 助力小红书业务升级
  8. 作者:郭雷风,中国农业科学院农业信息研究所助理研究员。
  9. jenkins修改pom文件_自动化部署—Jenkins+Docker构建工程
  10. mysql数据库表字段使用DESC等关键字报错及解决方法
  11. ISO9001:2015新版质量管理体系标准时间表
  12. 如何选择固定资产标签?
  13. SRS源码阅读(一)
  14. Android studio 获取MD5和SHA1
  15. 第二期DBA投票“今日必看”项目分析
  16. TTL怎么计算拉电流和灌电流_配电线路安全电流如何计算?低压供电线路导线怎么选择?图文详解...
  17. Java笔试题(一)单选题
  18. lcy mysql爆破_mysql
  19. Java实现莱布尼兹问题
  20. 计算机技术专业面试英语翻译,面试英文翻译:你为什么选择这个专业

热门文章

  1. trac mysql_Ubuntu 8.04下配置项目管理工具Trac
  2. 滤波器设计中的频率归一化问题
  3. confluence的一些环境变量说明
  4. 【资料下载区】【iCore3相关代码、资料下载地址】更新日期2017/06/28
  5. 超融合解决方案已成新黑马 市场排名初见端倪
  6. 抽象类和抽象方法的特点
  7. 12864点阵型液晶显示屏的基本原理与使用方法(很详细)
  8. 记录JDK1.8 List 转 Map 的时候遇到的坑
  9. idea紫色主题+背景图配置
  10. 计算机科学导论论文文章,计算机科学导论论文(2)