- 博客(22)
- 收藏
- 关注
原创 c语言经典题目100题 31-40题
分析:读取第一个字符判断,如果还判断不出来,在读取第二个字符,要注意两个字符之间间隔了一个换行符。分析:循环到n的开平方,可以减少循环次数,每次+2,就跳过了偶数,偶数都不是素数。分析:相当于一个字符数组,交换数组的元素。
2026-01-08 16:49:29
152
原创 c语言经典100题--21-30
分析:下个数列的分子等于上个数列的分子+分母。下个数列的分母等于上个数列的分母。分析:第x天剩下x个桃子,那么第x-1天就剩下(x+1)*2个桃子。分析:就取出除了百位的其他位的数,判断是否相等。分析:分别求出每个的阶乘,然后相加。分析:要会分解出每一位数。
2026-01-07 14:07:43
124
原创 c语言经典100题 11--20题
分析:其实就是个斐波拉契数,我们使用递归的方法做,就是速度会有点慢。f(n)=f(n-1)+f(n-2).分析:素数就是质数,只能被1和他本身整除的数字。分析:最大公约数使用辗转相除法,最小公倍数就是两个数的乘积/最大公约数。分析:每次降落高度/2,除了第一次落地是单倍距离,其他都是双倍。分析:学会使用条件运算符,A?分析:判断输入的ascll码值就行,并且读到\n就结束。分析:要写个函数看输入的数字是几位的,才会相乘。分析:判断他除以一个数能除尽,就把n的范围缩小。分析:每位数的次方相加等于它本身。
2026-01-06 17:06:51
247
原创 c语言经典100道 1-10题
分析:如果是闰年就要2月加一天。开个数组,存储这12个月的天数,直接循环相加到这个月的前一个月,然后相加。分析:每个位的数都是1,2,3,4中选一个,要三位数,那么就是三重循环。分析:首先要注意奖金和利润都应该是double类型,精度要求比较高。分析:完全平方数就是两个相同的数的平方。暴力求解法,循环从1开始,判断那些数是。用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。分析:其实就是把你输入的数字转换为ascll码值,可以多试几个。分析:双重for循环,一重控制行,一重控制列。
2026-01-05 17:06:50
229
原创 高精度之正数乘法
本文介绍了一种高精度乘法算法,用于处理超过long long类型范围的数字相乘。算法首先检查输入数字是否为零,然后通过逐位相乘并累加的方式计算乘积,同时处理进位。具体实现中,将输入字符串转换为数字数组后,按照i+j-1的关系进行位运算,最终输出结果时会去除前导零。该方法有效解决了大数相乘的精度问题,适用于任意长度的数字运算。
2025-12-30 11:41:44
136
原创 高精度之减法
摘要:本文介绍了处理大数减法的高精度算法实现方法。首先通过比较函数判断两个数的大小关系,若被减数较小则交换两数并标记负号。减法过程中采用逐位相减、借位处理的方式,最终输出结果时去除前导零并处理符号。算法通过字符数组存储大数,转换为整型数组进行运算,有效解决了longlong类型范围限制的问题。代码包含输入处理、大小比较、减法运算和结果输出四个主要部分,实现了任意长度整数减法运算。
2025-12-30 10:57:45
158
原创 高精度算法之加法
摘要:本文介绍了32/64位系统中int(4字节)和longlong(8字节)的范围限制,以及处理超大数时的高精度算法实现方法。通过字符数组存储数字字符串,将其转换为从低位到高位存储的整型数组,详细说明了逐位相加和进位处理的过程:包括数组初始化、字符转数字、按位相加(使用+=操作)、进位处理(/10和%10运算)等关键步骤。该算法能有效解决10^18以上超大数的精确计算问题。
2025-12-29 15:14:47
154
原创 leetcode 977 有序数组的平方
一看这个数组是有序的,但是有正有负,不能够保证负数的平方一定比正数的小,但是最大平方数不是在最左边就是在最右边,因此使用双指针法,一个指针在最左边,一个指针在最右边。for循环进行比较,
2025-07-17 17:15:19
131
原创 leetcode 27 移除元素
读问题感觉就可以使用for循环的暴力解法 ,然后去尝试了一下,发现可以通过。只需要一个for循环,不需要额外的空间,边检索边覆盖。
2025-07-17 14:23:05
156
原创 数据结构学习 数组篇 数组基础知识
数组在内存中的存储形式是连续的一段空间,并且数据类型相同。数组的内存地址是连续增长的。数组的下标都是从0开始的。数组是最基础的数据结构。
2025-07-10 15:17:26
141
原创 Microphone 麦克风的一般参数指标
参数要求:SNR>=68dB ,灵敏度 >-34dB ,频响范围 :+/-3dB (300Hz-3KHz);失真度:<=3%以博主接触到的一款麦克风为例,下面是它的一些参数指标:其中dB是声音的单位。
2025-07-10 10:48:52
805
原创 STM32输出的推挽和开漏输出 强上拉和弱上拉
上拉电阻的阻值越大 功耗就越低 但是不能一味的追求阻值 像IIC 上拉电阻电阻越大 电容充电时间越长 当IIC的频率较大的时候 充电时间太长就不满足时序 因此取得4.7K的电阻 上拉电阻的阻值要根据实际的情况来进行判断。推挽输出 :当输出为0的时候 只有PMOS在 这个时候IO口为低电平 当输出为1的时候 只有NMOS在 这个时候IO为高电平。开漏是接了一个上拉电阻 上拉电阻相当于电压源的内阻 电流小 LED暗 开漏不作为驱动。开漏无法输出高电平 需要配置一个上拉电阻才能输出高电平。
2024-06-28 20:40:11
944
原创 STM32Cubemxhal库的轮询方式和HAL_Delay()函数的时基
就发现了原来HAL_GetTick函数是读取计数值的一个函数 那我们就要去找这个计数值是多久计数一次 那我们就去跳转uwTickFreq变量。作者很好奇在hal库只带的阻塞方式和hal_Delay()函数中的时间是如何进行配置的 也没有进行时钟的配置啊 就去深入的了解了一下;发现HAL_Delay函数也是用的这个变量 HAL_GetTick()可以读取该变量。发现他是一个1ms更新一次的中断的变量 该变量就是hal库的时基。有一个关于timeout的函数 我们找到他的原型。找到hal库里面的串口发送函数。
2024-06-27 20:51:27
508
原创 STM32HAL库学习Cubemx(1)点亮LED灯
在hal_gpio.c中有一个叫HAL_GPIO_WritePin函数 有三个值 分别为GPIO端口 GPIO引脚 和引脚为低电平还是高电平 GPIO_PIN_RESET为输出低电平 GPIO_PIN_SET为输出高电平。在while(1)里面调用该函数 输入对应的LED对应的端口和引脚 在看原理图 LED是与低连接还是于VCC连接 来决定是输出低电平还是高电平 就此可以点亮LED灯。选择LED对应的引脚 根据你板子上对应的LED引脚或者Proteus上的引脚。选择你对应的芯片型号。
2024-06-25 13:49:03
897
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅