【C语言】PAT乙级:1005 继续(3n+1)猜想
#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)猜想相关推荐
- PAT乙级 1005 继续(3n+1)猜想 (25分)
1005 继续(3n+1)猜想 (25分) 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中 ...
- pat 乙级 1005 继续(3n+1)猜想(C++)
题目 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对 n=3 进行验 ...
- PAT乙级 1005继续3n+1猜想
当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对 n=3 进行验证的时候,我们需要计算 3.5.8.4.2.1,则当我们对 n=5.8.4.2 进行验证的时候, ...
- PAT乙级(1005 继续(3n+1)猜想)
卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对 n=3 进行验证的时 ...
- PAT 乙级 1005. 继续(3n+1)猜想 (25) Java版
卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对n=3进行验证的时候, ...
- PAT乙级1005 继续(3n+1)猜想//散列初级运用
拉兹(Callatz)猜想已经在B1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对 n=3 进行验证的时 ...
- C++学习之路 | PTA乙级—— 1005 继续(3n+1)猜想 (25分)(精简)
1005 继续(3n+1)猜想 (25分) 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中 ...
- 【PAT乙】1005 继续(3n+1)猜想 (25分)
problem 1005 继续(3n+1)猜想 (25分) 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以 ...
- 浙江大学PAT (Basic Level) Practice (中文)1005继续(3n+1)猜想JAVA实现代码及分析
1005 继续(3n+1)猜想 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个 ...
- 1005 继续(3n+1)猜想 (25分)
1005 继续(3n+1)猜想 (25分) 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中 ...
最新文章
- 在AWS Lambda上运行脚本语言:PHP、Ruby和Go(外文翻译)
- JTAG与STC,DEBUGWIRE区别
- statsmodels 笔记:seasonal_decompose 时间序列分解
- java 不规则 拼图_Java中不一致的操作会扩大规则
- elementui table某一列是否显示_Vue项目引进ElementUI组件的方法
- JAVA进阶开发之(异常类)
- 数据查询和业务流分开_TiDB HTAP 助力小红书业务升级
- 作者:郭雷风,中国农业科学院农业信息研究所助理研究员。
- jenkins修改pom文件_自动化部署—Jenkins+Docker构建工程
- mysql数据库表字段使用DESC等关键字报错及解决方法
- ISO9001:2015新版质量管理体系标准时间表
- 如何选择固定资产标签?
- SRS源码阅读(一)
- Android studio 获取MD5和SHA1
- 第二期DBA投票“今日必看”项目分析
- TTL怎么计算拉电流和灌电流_配电线路安全电流如何计算?低压供电线路导线怎么选择?图文详解...
- Java笔试题(一)单选题
- lcy mysql爆破_mysql
- Java实现莱布尼兹问题
- 计算机技术专业面试英语翻译,面试英文翻译:你为什么选择这个专业
热门文章
- trac mysql_Ubuntu 8.04下配置项目管理工具Trac
- 滤波器设计中的频率归一化问题
- confluence的一些环境变量说明
- 【资料下载区】【iCore3相关代码、资料下载地址】更新日期2017/06/28
- 超融合解决方案已成新黑马 市场排名初见端倪
- 抽象类和抽象方法的特点
- 12864点阵型液晶显示屏的基本原理与使用方法(很详细)
- 记录JDK1.8 List 转 Map 的时候遇到的坑
- idea紫色主题+背景图配置
- 计算机科学导论论文文章,计算机科学导论论文(2)