PTA第六章作业详解
🚀write in front🚀
📝个人主页:认真写博客的夏目浅石.
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝
📣系列专栏:夏目的作业
💬总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🖊
✉️如果无聊的话,就来逛逛我的博客栈吧stack-frame.cn
文章目录
- 前言
- 6-1 不一样的A-B
- 6-2 不一样的斐波那契数列
- 6-3 反素数
- 6-4 范围水仙花数
- 6-5 公约数和公倍数
- 6-6 进制转换
- 6-7 绝对值排序
- 6-8 连接字符串
- 6-9 求次方
- 6-10 求阶乘
- 6-11 求母牛数
- 6-12 求素数
- 6-13 求最大值
- 6-14 数字求和
- 6-15 数字转换
- 6-16 巫妖王的愤怒
- 6-17 字符串逆序
- 6-18 字母统计
- 结语
前言
我是夏目浅石,本次作业将由我来给大家讲解第六章作业
,希望大家可以吃透这些题目,遇见更好的自己
6-1 不一样的A-B
题目描述:
/*
大致题意:给定两个数字n,m,然后从 a数组 里面找 b数组 一样的数字进行删除
如果 不一样的 就直接从小到大输出 若全部被删除 就输出NULL
*/void cn(int n,int m)
{int a[110],b[110],c[110];int k=0;//输入部分for(int i=0;i<n;i++) scanf("%d",&a[i]);for(int j=0;j<m;j++) scanf("%d",&b[j]);//算法设计部分/*写下我的思路:1.遍历 数组a 2.把不一样的 存放到新数组 c数组 里面 方法:flag标记法3.排序输出 c数组 里面的内容*///遍历+存放for(int i=0;i<n;i++){int flag=0;for(int j=0;j<m;j++){if(a[i]==b[j]){flag=1;break;}}if(flag==0) c[k++]=a[i];}//判断是否为NULLif(k==0) printf("NULL\n");else{//显然对于 c数组 进行排序//冒泡排序for(int i=0;i<k-1;i++){int j=0;for(j=0;j<k-1-i;j++){if(c[j]>c[j+1]){int tmp=c[j];c[j]=c[j+1];c[j+1]=tmp;}}}//输出部分for(int i=0;i<k;i++) printf("%d ",c[i]);}
}
6-2 不一样的斐波那契数列
题目描述:
/*
大致题意:类似于 斐波那契数列 考察你的递归 but 变化了f1,f2.
*/int cn(int n)
{//设置新的起始值int f1=7,f2=11,f;//讨论情况if(n==0)return f1;if(n==1)return f2;elsef=cn(n-1)+cn(n-2);return f;
}
6-3 反素数
/*
基础知识:
1.素数的定义:素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
2.反素数的定义:在一个区间内,因子最多的数(并且因子个数相同的时候值最小),所以反素数是相对于一个集合来说的。题目意思:就是在一个区间里面 找到 谁的因子 最多 然后不断迭代。
*/int cn(int a,int b)
{//定义 + 初始化int ans=0,max=a;//遍历区间 [a,b]for(int i=a;i<=b;i++){int cnt=0; //记录 因子个数 for(int j=2;j<=i;j++) //暴力 遍历求因子{ //优化 j<=i/2if(i%j==0) cnt++;}//这里 ans 表示 我所记录的上一个 因子个数的最大值if(cnt>ans){ans=cnt;max=i;}}return max;//返回 这个满足因子个数 最多的数。
}
//---------------------手动分界线-------------------------------
//求素数 函数---暴力
void isprime(int n)
{for(int i=2;i*i<=n;i++){int j=0;for(j=2;j<i;j++){if(i%j==0) break;}if(j==i) printf("%d ",i);else continue;}
}
6-4 范围水仙花数
//考察 水仙花数
int cn(int n,int m)
{int s,k=0;int book[1000];for(int i=n;i<=m;i++){int j=i,s=0;while(j){s+=(j%10)*(j%10)*(j%10);j/=10;}if(i==s) book[k++]=i;}if(k){printf("%d",book[0]);for(int i=1;i<k;i++) printf(" %d",book[i]);return 1;}else return 0;
}
6-5 公约数和公倍数
/*
题目意思:求出来 公约数 + 公倍数
*/
//方法:辗转相除法---课本 P148 例 4-21
long long cn(long long a,long long b)
{long long r,t;while(r=a%b)a=b,b=r;return b;
}//-----------------------手动分割线----------------------
/*
知识总结:二种方法求解此类问题
*/
//递归实现
int gcd(int a,int b)//计算最大公约数---递归法
{if (b==0)return a;int r = a%b;return gcd(b,r); //当然这一种可以写成 逗号表达式的 形式。
}
//辗转相除实现
int gcd(int a,int b) //计算最大公约数---辗转相除法
{int t;while(b > 0){t = a % b;a = b;b = t;}return a;
}
6-6 进制转换
/*
题目大意:对于一个数字n 进行 转换成 r进制数
*/int cn(int n,int r)
{int k=0;if(r>=1&&r<10){while(n){s[k++]=n%r+48;//int类型-->char类型 需要 +’0‘ 或者 +48n/=r;}}else{while(n){int j=n%r;n/=r;if(j>9) s[k++]=j+55; //对于大于9的 就要 从十开始 变成 字母了//然后 9到16 差了7 所以要在 +48基础上 多+ 7else s[k++]=j+48;}}return k;
}
6-7 绝对值排序
/*
题目大意:在有 绝对值的前提下 进行从大到小 排序
*/void cn(int a[],int n)
{//输入for(int i=0;i<n;i++) scanf("%d",&a[i]);//冒泡排序+abs函数的使用for(int i=0;i<n-1;++i){int j=0;for(j=0;j<n-1-i;++j){if(abs(a[j])<abs(a[j+1])){int tmp=a[j];a[j]=a[j+1];a[j+1]=tmp;}}}//输出for(int i=0;i<n;i++){if(i!=n-1)printf("%d ",a[i]);else printf("%d",a[i]);}
}
6-8 连接字符串
/*
题目大意:将 两个字符串 进行链接
*/void cn(char s[],char b[])
{int i=0,j=0;while(s[i]) i++;//先把 s数组本身的字符 走到末尾while(b[j]) s[i++]=b[j++]; //加入新的字符//下面这个 ’\0‘ 一定要重视 printf函数以 %s 打印是以 \0 进行停止的s[i]='\0';
}
6-9 求次方
/*
题目大意:求一个数字n的m次方
*/
long long cn(long long x,long long y)
{long long sum=1;//暴力叠乘for(int i=1;i<=y;++i){sum*=x;}return sum;
}
6-10 求阶乘
/*
题目大意:用递归的方法求整数x的阶乘。
*/
//暴力方法
long long cn(int x)
{long long sum=1;for(int i=1;i<=x;++i) {sum*=i;}return sum;
}
//递归方法
long long cn(int x)
{if(x<=1)return 1;return x*cn(x-1);
}
6-11 求母牛数
//思维题一道
void cn(int a[])
{//类似于斐波那契,但是要找规律a[1]=1,a[2]=2,a[3]=3;for(int i=4;i<55;++i){a[i]=a[i-3]+a[i-1];}
}
6-12 求素数
//暴力 求素数
int cn(long long x)
{if(x==1) return 0;for(int i=2;i*i<=x;i++)if(x%i==0) return 0;return 1;
}
6-13 求最大值
//暴力求最大值
int cn(int a[],int n)
{int mx=a[0],i;for(i=1;i<n;i++)mx=a[i]>mx?a[i]:mx;return mx;
}//递归求最大值
int cn(int a[],int n)
{int m;if(n<=1) return a[0];//结束递归条件else{m=cn(a,n-1);//继续递归return a[n-1]>=m?a[n-1]:m;//返回最大值}
}
6-14 数字求和
//暴力求解数字和
void cn(int n,int ans)
{while(n)ans += n %10,n/=10;printf("%d\n",ans);
}//递归求解数字和void cn(int n,int ans)
{if(n<10){ans+=n;printf("%d\n",ans);}else{ans+=(n%10);cn(n/10,ans);}
}
6-15 数字转换
//其实就是对 偶数 和 奇数的 不同操作
void cn(long long x)
{while(x!=1){printf("%lld ",x);if(x%2) x=x*3+1;else x/=2;}printf("%lld ",x);
}
6-16 巫妖王的愤怒
void cn(int n)
{int mn;//% 之后余下的越多 就说明不行 所以就换一种商品购买if(n<300) mn=n%150>n%200?n%200:n%150;else mn=n%50;printf("%d\n",mn);return 0;
}
6-17 字符串逆序
void cn(char s[])
{int left=0,right=strlen(s)-1;while(left<right){char tmp=s[left];s[left]=s[right];s[right]=tmp;right--;left++;}return;
}
6-18 字母统计
void cn(char s[])
{for(int i=0;s[i];++i){if(s[i]>='A'&&s[i]<='Z'){num1++;}else if(s[i]>='a'&&s[i]<='z'){num2++;}}
}
结语
我是夏目浅石,希望和你一起学习进步,刷题无数!!!希望各位大佬能一键三连支持一下博主,hhhh~我们下期见喽
如果无聊的话,就来逛逛我的博客栈吧stack-frame.cn
✨原创不易,还希望各位大佬支持一下\textcolor{blue}{原创不易,还希望各位大佬支持一下}原创不易,还希望各位大佬支持一下
👍 点赞,你的认可是我创作的动力!\textcolor{9c81c1}{点赞,你的认可是我创作的动力!}点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!\textcolor{ed7976}{收藏,你的青睐是我努力的方向!}收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!\textcolor{98c091}{评论,你的意见是我进步的财富!}评论,你的意见是我进步的财富!
相关文章:

PTA第六章作业详解
🚀write in front🚀 📝个人主页:认真写博客的夏目浅石. 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝 📣系列专栏:夏目的作业 💬总结:希望你看完之后&am…...

Java课程设计项目--音乐视频网站系统
一、功能介绍 随着社会的快速发展,计算机的影响是全面且深入的。人们生活水平的不断提高,日常生活中人们对音乐方面的要求也在不断提高,听歌的人数更是不断增加,使得音乐网站的设计的开发成为必需而且紧迫的事情。音乐网站的设计主…...

FPGA可以转IC设计吗?需要学习哪些技能?
曾经在知乎上看到一个回答“入职做FPGA,后续是否还可以转数字IC设计?” 从下面图内薪资就可以对比出来,对比FPGA的行业薪资水平,IC行业中的一些基础性岗位薪资比很多FPGA大多数岗位薪资都要高。 除了薪资之外更多FPGA转IC设计的有…...

初探Gradle
目录一.概述二.优点三.安装与配置1. 官网下载2. 配置环境变量3. 检验4. 配置国内镜像(可选)5. IDEA配置三.工程结构四.生命周期1.Initialization阶段2.Configuration阶段3.Execution阶段五.Task六.常用任务指令七.引入依赖1.本地依赖2.项目依赖3.直接依赖八.依赖类型九.插件十.…...

国产数据库介绍
人大金仓 Kingbase 北京人大金仓信息技术股份有限公司于1999年由中共人民大学专家创立,自成立以来,始终立足自主研发,专注数据管理领域,先后承担了国家“863”、“核高基”等重大专项,研发出了具有国际先进水平的大型…...

Java OpenJudge-test3
目录 1:明明的随机数 2:合影效果 3:不重复的单词 4:和为给定数 5:字符串数组排序问题 6:字符串排序 7:求序列中的众数 1:明明的随机数 总时间限制: 1000ms 内存限制: 65536kB 描述 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性ÿ…...

蓝桥杯刷题冲刺 | 倒计时22天
作者:指针不指南吗 专栏:蓝桥杯倒计时冲刺 🐾马上就要蓝桥杯了,最后的这几天尤为重要,不可懈怠哦🐾 文章目录1.选数异或2.特殊年份1.选数异或 题目 链接: 选数异或 - 蓝桥云课 (lanqiao.cn) 给定…...

入行 5年,跳槽 3次,我终于摸透了软件测试这行(来自过来人的忠告)
目录 前言 第一年 第二年 第三年 第四年 作为过来人的一些忠告 前言 最近几年行业在如火如荼的发展壮大,以及其他传统公司都需要大批量的软件测试人员,但是20年的疫情导致大规模裁员,让人觉得行业寒冬已来,软件测试人员的职…...

开源时序数据库学习
计划学习使用QuestDB解决大数据日志存储场景。以下是常见引擎比较 比较项目 InfluxDB TimescaleDB OpenTSDB QuestDB 数据模型 Key-Value Relational Key-Value Relational 存储引擎 自主开发的TSI PostgreSQL扩展程序 Apache HBase 自主开发 查询语言 InfluxQ…...

字节测试工程师悄悄告诉我的软件测试、测试开发常用的测试策略与测试手段
目录 前言 测试策略的关注重点 测试策略主要内容 总体测试策略 初级版本测试策略 跟踪测试执行 版本质量评估 后续版本测试策略 发布质量评估 测试手段 前言 测试策略是指在特定环境约束之下,描述软件开发周期中关于测试原则、方法、方式的纲要ÿ…...

我常用的shell 进制转换工具
一、进制的一些基础知识 1. 二进制(binary) 二进制的取值是0和1; 前缀是 0b 2. 八进制(Octal) 八进制的取值是0-7;前缀是 O 3. 十进制(decimal) 十进制的取值是0-9;没有前缀 …...

手写vue(二)响应式实现
名词解释:vm:指Vue实例一、目标效果vue定义(1)新建vm时,可以通过一个data对象,或者data函数,其属性可以通过vm直接访问,而data对象可以通过vm._data获取(2)修…...

mysql数据库常问面试题
1、NOW()和CURRENT_DATE()有什么区别? NOW()命令用于显示当前年份,月份,日期,小时,分钟和秒。 CURRENT_DATE()仅显示当前年份,月份和日期。 2、CHAR和VARCHAR的区别? (1)…...

AI风暴 :文心一言 VS GPT-4
💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! 文心一言 VS GPT-4 文心一言:知识增强大语言模型百度全新一代知识增强大语言模型,文心大模型家族的新成员,能够与人对话互动&#…...

VR全景城市,用720全景树立城市形象,打造3D可视化智慧城市
随着城市化进程的加速,城市之间的竞争也日益激烈。城市管理者们需要寻求新的方式来提升城市的品牌形象和吸引力。在这个过程中,VR全景营销为城市提供了一种全新的营销手段,可以帮助提升城市的价值和吸引力。一、城市宣传新方式VR全景营销是一…...

javaweb窗口服务人员分析评价系统ssh
A)后台管理员模块:通过该功能模块,管理员可以修改自己的密码,并对管理员进行添加和删除操作。 B)注册用户模块:通过该功能模块,管理员可以查看注册用户的基本信息,对存在问题的用户进…...

树莓派Pico W无线开发板UDP协议MicroPython网络编程实践
树莓派Pico W无线开发板(简称Pico W)是树莓派基金会于2022年6月底推出的搭载无线通信芯片的树莓派Pico开发板。本文在介绍树莓派Pico W无线开发板接口信号和TCP/IP和UDP通信协议基础上,给出Pico W无线开发板的UDP协议MicroPython网络编程实例…...

跨域解决方案
跨域解决方案 1.跨域基本介绍 文档:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CORS 跨域问题是什么? 一句话:跨域指的是浏览器不能执行其他网站的脚本,它是由浏览器的同源策略造成的,是浏览器对 javascr…...

springboot的统一处理
在处理网络请求时,有一部分功能是需要抽出来统一处理的,与业务隔开。 登录校验 可以利用spring mvc的拦截器Interceptor,实现HandlerInterceptor接口即可。实现该接口后,会在把请求发给Controller之前进行拦截处理。 拦截器的实…...

C/C++每日一练(20230319)
目录 1. 反转链表 II 🌟🌟 2. 解码方法 🌟🌟 3. 擅长编码的小k 🌟🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 …...

GitHub 上有些什么好玩的项目?
前言 各个领域模块的都整理了一下,包含游戏、一些沙雕的工具、实用正经的工具以及一些相关的电商项目,希望他们可以给你学习的路上增加几分的乐趣,我们直接进入正题~ 游戏 1.吃豆人 一款经典的游戏开发案例,包括地图绘制、玩家控…...

蓝桥杯刷题第十二天
问题描述给定一个正整数 n ,请问 n 的十进制表示中末尾总共有几个 0 ?输入格式输入一行包含一个正整数 n。输出格式输出一个整数,表示答案。评测用例规模与约定对于所有评测用例,1 < n < 1000000000。运行限制最大运行时间&…...

开发也可以很快乐,让VSCode和CodeGPT带给你幸福感
CodeGPT 是一款 Visual Studio Code 扩展,可以通过官方的 OpenAI API 使用 GPT-3 (预训练生成式转换器) 模型,在多种编程语言中生成、解释、重构和文档化代码片段。CodeGPT 可用于各种任务,例如代码自动完成、生成和格式化。它还可以集成到代…...

【Linux】基本指令介绍
前言从今天开始,我们一起来学习Linux的相关知识,今天先来介绍怎么登录Linux,并且介绍一些Linux的基本指令。使用 XShell 远程登录 Linux很多同学的 Linux 启动进入图形化的桌面. 这个东西大家以后就可以忘记了. 以后的工作中 没有机会 使用图…...

JQuery介绍
文章目录一. JQuery介绍二. JQuery使用三. JQuery选择器四. JQuery选择集过滤五.JQuery选择集转移六. JQuery获取和操作标签内容七. JQuery获取和设置元素属性八. JQuery事件九.JQuery事件代理- 事件冒泡- 事件绑定的问题- 事件代理一. JQuery介绍 定义: jquery是JS的一个函数…...

Selenium基础篇之八大元素定位方式
文章目录前言一、如何进行元素定位?1.右击元素-检查2.F12-选择工具点击元素3.借助selenium IDE二、八大元素定位方式1.ID1.1 方法1.2 举例1.3 代码1.4 截图2.NAME2.1 方法2.2 举例2.3 代码2.4 截图3.CLASS_NAME3.1 方法3.2 举例3.3 代码3.4 截图4.TAG_NAME4.1 方法4…...

C语言的灵魂---指针(基础)
C语言灵魂指针1.什么是指针?2.指针的大小3.指针的分类3.1比较常规的指针类型3.2指针的解引用操作3.3野指针野指针的成因:4.指针运算4.1指针加减整数4.2指针-指针1.什么是指针? 这个问题我们通常解释为两种情况: 1.指针本质&#…...

带你一文透彻学习【PyTorch深度学习实践】分篇——线性模型 梯度下降
分享给大家一段我国著名作家、散文家史铁生先生的一段话: 把路想象的越是坎坷就越是害怕,把山想象的越是险峻就越会胆怯,把别人想象的越是优秀就越是不敢去接近。惯于这样想象的人,是天生谦卑的人。 --------史铁生《关于恐惧》 🎯作者主页:追光者♂🔥 �…...

Javascript如何截取含有表情的字符串
Javascript如何截取含有表情的字符串 一、说说背景 社区社交应用中,难免会有输入用户昵称的操作,如果用户老老实实的输入中文汉字或者英文字母,那当然没啥问题,我们能够轻松的处理字符串的截取,产品说按多少字符截取…...

【云原生】prometheus结合jmx exporter 的java agent模式采集tomcat监控实战
前言 大家好,我是沐风晓月,今天我们又来探讨一款使用prometheus监控tomcat的另外一种形式:Java agent模式。 如果你想使用http server模式,请参考:【云原生】prometheus结合jmx exporter 的http server模式采集tomca…...