ZZNUOJ(C/C++)基础练习1081——1090(详解版)

目录

 1081 : n个数求和 (多实例测试)

C

C++

1082 : 敲7(多实例测试)

C

C++

1083 : 数值统计(多实例测试)

C

C++

 1084 : 计算两点间的距离(多实例测试)

C

C++ 

1085 : 求奇数的乘积(多实例测试)

C

C++

1086 : ASCII码排序(多实例测试)

C

C++

1087 : 获取出生日期(多实例测试)

C

C++

1088 : 手机短号 (多实例)

C

C++

1089 : 阶乘的最高位

C

C++

法二C(利用对数知识点)

1090 : 整数幂(多实例测试)

C

C++(使用快速幂算法)


 

 Alt + F4:在大多数窗口程序中,按下Alt + F4可以关闭当前窗口或程序。

“EOF”是“End of File”的缩写,意思是“文件结束”。它通常用于计算机编程和文件处理中,表示已经到达文件的最后一个字节,后面没有更多的数据了。

 1081 : n个数求和 (多实例测试)

题目描述

求n个整数的和。

输入

输入第一行是一个整数T,表示有T组测试实例;
每组输入包括两行:
第一行一个数n表示接下来会有n个整数;
第二行空格隔开的n个数。

输出

对于每组输入,在一行输出n个数的和(保证和不会超出int类型的范围)!

样例输入

2
3
1 2 3
4
-1 0 -19 22

样例输出

6
2

C

#include<stdio.h> // 包含标准输入输出库// 定义一个函数solve,用于处理每组数据的求和操作
void solve()
{int n; // 定义变量n,表示每组数据中的整数个数scanf("%d", &n); // 从标准输入读取整数nint mid, sum = 0; // 定义变量mid用于临时存储每个整数,sum用于存储总和for (int i = 0; i < n; i++) // 循环n次,读取每个整数{scanf("%d", &mid); // 从标准输入读取一个整数midsum += mid; // 将mid加到总和sum中}printf("%d\n", sum); // 输出总和sum
}int main()
{int T = 1; // 定义变量T,表示测试用例的数量,默认值为1scanf("%d", &T); // 从标准输入读取测试用例的数量Twhile (T--) // 循环T次,每次循环T减1{solve(); // 调用solve函数,处理一组数据的求和操作}return 0; // 程序正常结束
}

C++

#include<iostream> // 包含C++标准输入输出流库
using namespace std; // 使用标准命名空间// 定义一个函数solve,用于处理每组数据的求和操作
void solve()
{int n; // 定义变量n,表示每组数据中的整数个数scanf("%d", &n); // 从标准输入读取整数nint mid, sum = 0; // 定义变量mid用于临时存储每个整数,sum用于存储总和for (int i = 0; i < n; i++) // 循环n次,读取每个整数{scanf("%d", &mid); // 从标准输入读取一个整数midsum += mid; // 将mid加到总和sum中}printf("%d\n", sum); // 输出总和sum
}int main()
{int T = 1; // 定义变量T,表示测试用例的数量,默认值为1scanf("%d", &T); // 从标准输入读取测试用例的数量Twhile (T--) // 循环T次,每次循环T减1{solve(); // 调用solve函数,处理一组数据的求和操作}return 0; // 程序正常结束
}

1082 : 敲7(多实例测试)

题目描述

输出7和7的倍数,还有包含7的数字例如(17,27,37...70,71,72,73...)

输入

首先输入一个整数t,表示有t组数据。
然后有t行,每行一个整数N。(N不大于30000)

输出

对于每组数据 ,输出从小到大排列的不大于N的与7有关的数字。每组数据占一行,每个数字后面有一个空格;

样例输入

2
20
30

样例输出

7 14 17
7 14 17 21 27 28

C

#include<stdio.h> // 包含标准输入输出库// 定义一个函数solve,用于处理每组数据
void solve()
{int n; // 定义变量n,表示输入的整数scanf("%d", &n); // 从标准输入读取整数n// 从7开始循环到nfor (int i = 7; i <= n; i++){// 如果i能被7整除if (i % 7 == 0){printf("%d ", i); // 输出i}else{int mid = i; // 定义变量mid,用于存储当前数字i// 检查i的每一位是否包含数字7while (mid != 0){if (mid % 10 == 7) // 如果当前位是7{printf("%d ", i); // 输出ibreak; // 退出循环}mid /= 10; // 去掉当前位,继续检查下一位}}}printf("\n"); // 输出换行符
}int main()
{int T = 1; // 定义变量T,表示测试用例的数量,默认值为1scanf("%d", &T); // 从标准输入读取测试用例的数量T// 循环T次,每次调用solve函数处理一组数据while (T--){solve();}return 0; // 程序正常结束
}

C++

#include<iostream>
#include<algorithm>
using namespace std;// 定义一个函数,用于检查一个数字是否包含7
int containsSeven(int num)
{while (num != 0){if (num % 10 == 7){return 1; // 如果包含7,返回1}num /= 10; // 去掉当前位,继续检查下一位}return 0; // 如果不包含7,返回0
}void solve()
{int n;scanf("%d", &n); // 从标准输入读取整数n// 从7开始循环到nfor (int i = 7; i <= n; i++){if (i % 7 == 0 || containsSeven(i)) // 如果i能被7整除或者包含7{printf("%d ", i); // 输出i}}printf("\n"); // 输出换行符
}int main()
{int T = 1;scanf("%d", &T); // 从标准输入读取测试用例的数量T// 循环T次,每次调用solve函数处理一组数据while (T--){solve();}return 0; // 程序正常结束
}

1083 : 数值统计(多实例测试)

题目描述

统计给定的n个数中,负数、零和正数的个数

输入

输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的个数,然后是n个实数;如果n=0,则表示输入结束,该行不做处理。
 

输出

对于每组输入数据,输出一行a,b和c,分别表示给定的数据中负数、零和正数的个数。

样例输入

6 0 1 2 3 -1 0
5 1 2 3 4 0.5
0

样例输出

1 2 3
0 0 5

C

#include<stdio.h> // 包含标准输入输出库// 定义一个函数solve,用于处理每组数据
void solve(int n)
{int small = 0, zero = 0, big = 0; // 定义变量small、zero和big,分别用于统计负数、零和正数的数量// 循环n次,读取每个浮点数for (int i = 0; i < n; i++){double mid; // 定义变量mid,用于存储当前读取的浮点数scanf("%lf", &mid); // 从标准输入读取一个浮点数mid// 根据mid的值,更新相应的计数器if (mid > 0){big++; // 如果mid是正数,big计数器加1}else if (mid == 0){zero++; // 如果mid是零,zero计数器加1}else{small++; // 如果mid是负数,small计数器加1}}// 输出负数、零和正数的数量printf("%d %d %d\n", small, zero, big);
}int main()
{int T = 1; // 定义变量T,表示测试用例的数量,默认值为1// 使用while循环读取输入,直到T为0while (scanf("%d", &T), T != 0){solve(T); // 调用solve函数,处理一组数据}return 0; // 程序正常结束
}

C++

#include<iostream> // 包含C++标准输入输出流库
using namespace std; // 使用标准命名空间// 定义一个函数solve,用于处理每组数据
void solve(int n)
{int small = 0, zero = 0, big = 0; // 定义变量small、zero和big,分别用于统计负数、零和正数的数量// 循环n次,读取每个浮点数for (int i = 0; i < n; i++){double mid; // 定义变量mid,用于存储当前读取的浮点数scanf("%lf", &mid); // 从标准输入读取一个浮点数mid// 根据mid的值,更新相应的计数器if (mid > 0){big++; // 如果mid是正数,big计数器加1}else if (mid == 0){zero++; // 如果mid是零,zero计数器加1}else{small++; // 如果mid是负数,small计数器加1}}// 输出负数、零和正数的数量printf("%d %d %d\n", small, zero, big);
}int main()
{int T = 1; // 定义变量T,表示测试用例的数量,默认值为1// 使用while循环读取输入,直到T为0while (scanf("%d", &T), T != 0){solve(T); // 调用solve函数,处理一组数据}return 0; // 程序正常结束
}

 1084 : 计算两点间的距离(多实例测试)

题目描述

输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。

输入

输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。

输出

对于每组输入数据,输出一行,结果保留两位小数。

样例输入

0 0 0 1
0 1 1 0

样例输出

1.00
1.41

C

#include<stdio.h> // 包含标准输入输出库
#include<math.h>  // 包含数学库,用于计算平方根int main()
{double x1, y1, x2, y2; // 定义四个变量,分别表示两个点的坐标 (x1, y1) 和 (x2, y2)// 使用while循环读取输入,直到输入结束(EOF)while (scanf("%lf %lf %lf %lf", &x1, &y1, &x2, &y2) != EOF){// 计算两点之间的欧几里得距离// 公式:distance = sqrt((x2 - x1)^2 + (y2 - y1)^2)double distance = sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));// 输出计算得到的距离,保留两位小数printf("%.2f\n", distance);}return 0; // 程序正常结束
}

C++ 

#include<iostream> // 包含C++标准输入输出流库
#include<algorithm> // 包含算法库(虽然在这段代码中未使用到)
#include<cmath> // 包含数学库,用于计算平方根
#include<iomanip> // 包含输入输出流格式化库,用于设置输出精度
using namespace std; // 使用标准命名空间int main()
{double x1, y1, x2, y2; // 定义四个变量,分别表示两个点的坐标 (x1, y1) 和 (x2, y2)// 使用while循环读取输入,直到输入结束while (cin >> x1 >> y1 >> x2 >> y2){// 计算两点之间的欧几里得距离// 公式:distance = sqrt((x2 - x1)^2 + (y2 - y1)^2)double distance = sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));// 使用cout输出计算得到的距离,保留两位小数// setprecision(2) 设置小数点后保留2位// fixed 确保输出固定的小数点格式cout << setprecision(2) << fixed << distance << endl;}return 0; // 程序正常结束
}

1085 : 求奇数的乘积(多实例测试)

题目描述

给你n个整数,求他们中所有奇数的乘积

输入

输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。

输出

输出每组数中的所有奇数的乘积,对于测试实例,输出一行。

样例输入

3 1 2 3
4 2 3 4 5

样例输出

3
15

注意:输入的n个整数中,可能有负数,要用mid%2 != 0来判断是否为奇数

C

#include<stdio.h>  // 包含标准输入输出库int main() {int n;  // 用于存储每组数据的整数个数// 使用 while 循环读取多组数据,直到输入结束(EOF)while(scanf("%d", &n) != EOF) {long long mul = 1;  // 初始化乘积为1,用于存储奇数的乘积int mid;  // 用于临时存储每个输入的整数// 循环读取 n 个整数for(int i = 0; i < n; i++) {scanf("%d", &mid);  // 读取一个整数到 mid// 判断 mid 是否为奇数if(mid % 2 != 0) {mul *= mid;  // 如果是奇数,将其乘到 mul 中}}printf("%lld\n", mul);  // 输出当前组奇数的乘积}return 0;  // 程序正常结束
}

C++

#include<iostream>  // 包含C++标准输入输出流库
using namespace std; // 使用标准命名空间,避免每次调用标准库功能时都要写std::int main() {int n; // 用于存储每组数据的整数个数// 使用 while 循环读取多组数据,直到输入结束(EOF)while(scanf("%d", &n) != EOF) {long long mul = 1; // 初始化乘积为1,用于存储奇数的乘积int mid; // 用于临时存储每个输入的整数// 循环读取 n 个整数for(int i = 0; i < n; i++) {scanf("%d", &mid); // 读取一个整数到 mid// 判断 mid 是否为奇数if(mid % 2 != 0) {mul *= mid; // 如果是奇数,将其乘到 mul 中}}printf("%lld\n", mul); // 输出当前组奇数的乘积}return 0; // 程序正常结束
}

1086 : ASCII码排序(多实例测试)

题目描述

输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。

输入

输入数据有多组,每组占一行,有三个字符组成,之间无空格。

输出

对于每组输入数据,输出一行,字符中间用一个空格分开。

样例输入

qwe
asd
zxc

样例输出

e q w
a d s
c x z

C

了解指针:踏入编程绮梦,探寻指针隐匿的奥妙踪迹-CSDN博客

#include<stdio.h>  // 包含标准输入输出库// 函数声明,用于对三个字符进行排序
void solve(char *a, char *b, char *c) {char mid;  // 用于临时存储字符// 比较 a 和 b,如果 a > b,则交换它们if(*a > *b) {mid = *a;*a = *b;*b = mid;}// 比较 a 和 c,如果 a > c,则交换它们if(*a > *c) {mid = *a;*a = *c;*c = mid;}// 比较 b 和 c,如果 b > c,则交换它们if(*b > *c) {mid = *b;*b = *c;*c = mid;}
}int main() {char ch1, ch2, ch3;  // 定义三个字符变量// 使用 while 循环读取输入,直到输入结束(EOF)while(scanf("%c%c%c", &ch1, &ch2, &ch3) != EOF) {solve(&ch1, &ch2, &ch3);  // 调用 solve 函数对三个字符进行排序printf("%c %c %c\n", ch1, ch2, ch3);  // 输出排序后的结果getchar();  // 读取换行符,避免影响下一次输入}return 0;  // 程序正常结束
}

C++

了解C++的引用:漫步 C++ 之途,领略引用的独特风姿-CSDN博客

#include<iostream>  // 包含标准输入输出流库
using namespace std; // 使用标准命名空间,避免每次调用标准库功能时都要写std::// 函数声明,用于对三个字符进行排序
void solve(char &a, char &b, char &c) {char mid;  // 用于临时存储字符// 比较 a 和 b,如果 a > b,则交换它们if(a > b) {mid = a;a = b;b = mid;}// 比较 a 和 c,如果 a > c,则交换它们if(a > c) {mid = a;a = c;c = mid;}// 比较 b 和 c,如果 b > c,则交换它们if(b > c) {mid = b;b = c;c = mid;}
}int main() {char ch1, ch2, ch3;  // 定义三个字符变量// 使用 while 循环读取输入,直到输入结束(EOF)while(scanf("%c%c%c", &ch1, &ch2, &ch3) != EOF) {solve(ch1, ch2, ch3);  // 调用 solve 函数对三个字符进行排序printf("%c %c %c\n", ch1, ch2, ch3);  // 输出排序后的结果getchar();  // 读取换行符,避免影响下一次输入}return 0;  // 程序正常结束
}

1087 : 获取出生日期(多实例测试)

题目描述

输入某人的18位身份证号,输出其出生日期。

输入

多实例测试。首先输入一个整数n,表示测试实例的个数,然后是n行,每行是一个18位身份证号。

输出

对于输入的每个身份证号,输出一行,即其对应的出生日期,输出格式为:yyyy-mm-dd。

样例输入

3
410106199411178657
410104198202095479
410122197911218097

样例输出

1994-11-17
1982-02-09
1979-11-21

了解“输入跳过”步入 C/C++ 天地,浅探输入跳过的奇妙诀窍-CSDN博客

C

#include<stdio.h>
#include<math.h>// 定义一个函数 solve,用于处理每个身份证号并输出出生日期
void solve() {int year, month, day;  // 定义三个变量,分别存储年、月、日// 使用 scanf 读取输入的身份证号,并提取出生日期部分// %*6d:跳过前6个字符(身份证号的前6位是地址码)// %4d:读取接下来的4个字符作为年份// %2d:读取接下来的2个字符作为月份// %2d:读取接下来的2个字符作为日期// %*4d:跳过最后4个字符(身份证号的后4位是顺序码和校验码)scanf("%*6d%4d%2d%2d%*4d", &year, &month, &day);// 使用 printf 输出格式化的日期,格式为 yyyy-mm-ddprintf("%04d-%02d-%02d\n", year, month, day);
}int main() {int T;  // 定义变量 T,表示测试实例的个数// 读取测试实例的个数scanf("%d", &T);// 使用 while 循环处理每个测试实例while(T--) {solve();  // 调用 solve 函数处理每个身份证号}return 0;  // 程序正常结束
}

C++

#include <iostream>
#include <algorithm>
#include <cmath>
#include <iomanip>
using namespace std;void solve() {char year[5], month[3], day[3];  // 分别存储年、月、日,多留一个位置用于存储字符串结束符 '\0'// 跳过前6个字符(身份证号的前6位是地址码)cin.ignore(6);// 读取接下来的4个字符作为年份cin.get(year, 5);// 读取接下来的2个字符作为月份cin.get(month, 3);// 读取接下来的2个字符作为日期cin.get(day, 3);// 跳过最后4个字符(身份证号的后4位是顺序码和校验码)cin.ignore(4);// 跳过换行符,确保下一次读取时不会受到影响cin.ignore();// 输出格式化的日期,格式为 yyyy-mm-ddcout << year << "-" << month << "-" << day << endl;
}int main() {int T;  // 测试实例的个数cin >> T;  // 读取测试实例的个数cin.ignore();  // 清理缓冲区,跳过换行符while (T--) {solve();  // 处理每个测试实例}return 0;
}

1088 : 手机短号 (多实例)

题目描述

大家都知道,手机号是一个11位长的数字串,同时,作为学生,还可以申请加入校园网,如果加入成功,你将另外拥有一个短号。假设所有的短号都是是 6+手机号的后5位,比如号码为13512345678的手机,对应的短号就是645678。
现在,如果给你一个11位长的手机号码,你能找出对应的短号吗?

输入

输入数据的第一行是一个N(N <= 200),表示有N组输入数据,接下来的N行每一行为一个11位的手机号码。

输出

输出应包括N行,每行包括一个对应的短号,输出应与输入的顺序一致。

样例输入

2
13512345678
13787600321

样例输出

645678
600321

C

#include<stdio.h>  // 包含标准输入输出库// 定义一个函数 solve,用于处理输入的手机号码并输出对应的短号
void solve()
{int res; // 定义一个整型变量 res,用于存储手机号码的后5位数字// 使用 scanf 读取输入// %*6d:跳过输入的前6位数字(不存储)// %5d:读取接下来的5位数字,存储到变量 res 中// %*c:跳过一个字符(通常是换行符)scanf("%*6d%5d%*c",&res);// 输出结果// 6%05d:输出数字时,前面固定为6,后面数字占5位,不足部分用0补齐printf("6%05d\n",res);
}// 主函数
int main()
{int T; // 定义一个整型变量 T,用于存储测试用例的数量// 读取测试用例数量scanf("%d",&T);// 清除缓冲区中的换行符getchar();// 循环处理每个测试用例while(T--){solve(); // 调用 solve 函数处理每个测试用例}return 0; // 程序正常结束
}

C++

#include <iostream>  // 包含输入输出流库
using namespace std; // 使用标准命名空间// 定义一个函数 solve,用于处理输入的手机号码并输出对应的短号
void solve() {char res[6]; // 定义一个字符数组 res,用于存储手机号码的后5位数字(加上一个空字符'\0')// 使用 cin.ignore(6) 跳过输入的前6位数字cin.ignore(6);// 使用 cin.get(res, 6) 读取接下来的5位数字,存储到字符数组 res 中cin.get(res, 6);// 再次使用 cin.ignore() 跳过换行符cin.ignore();// 输出结果// 输出数字6,然后输出字符数组 res 中的内容cout << "6" << res << endl;
}// 主函数
int main() {int T;  // 定义一个整型变量 T,用于存储测试实例的个数// 读取测试实例的个数cin >> T;// 清理缓冲区,跳过换行符cin.ignore();// 循环处理每个测试实例while (T--) {solve();  // 调用 solve 函数处理每个测试实例}return 0; // 程序正常结束
}

1089 : 阶乘的最高位

题目描述

输入一个正整数n。输出n!的最高位上的数字。

输入

输入一个正整数n(n不超过1000)。

输出

输出n!的最高位上的数字。

样例输入

1000

样例输出

4

思路:当两个数相乘时,对于特别大的一个数,去掉后几位,不影响两数相乘结果的最高位

C

#include<stdio.h>  // 包含标准输入输出库int main()
{int n;  // 定义一个整型变量 n,用于存储输入的正整数// 从用户输入读取正整数 nscanf("%d", &n);long long mid = 1;  // 定义一个长整型变量 mid,用于存储中间结果,初始值为1// 循环计算 n 的阶乘for(int i = 1; i <= n; i++){// 如果 mid 大于 1e8(即10^8),为了避免溢出,将 mid 除以 10000// 这样可以减少 mid 的大小,同时保留其最高位的数字if(mid > 1e8){mid /= 10000;}// 将 mid 乘以 i,逐步计算阶乘mid *= i;}// 去掉 mid 的末尾零,直到 mid 只剩下最高位数字while(mid > 9){mid /= 10;}// 输出 n! 的最高位数字printf("%d\n", mid);return 0;  // 程序正常结束
}

C++

#include <iostream>  // 包含标准输入输出流库
using namespace std;  // 使用标准命名空间int main()
{int n;  scanf("%d", &n);long long mid = 1;  // 定义一个长整型变量 mid,用于存储中间结果,初始值为1// 循环计算 n 的阶乘for(int i = 1; i <= n; i++){// 如果 mid 大于 1e8(即10^8),为了避免溢出,将 mid 除以 10000// 这样可以减少 mid 的大小,同时保留其最高位数字if(mid > 1e8){mid /= 10000;}// 将 mid 乘以 i,逐步计算阶乘mid *= i;}// 去掉 mid 的末尾零,直到 mid 只剩下最高位数字while(mid > 9){mid /= 10;}// 输出 n! 的最高位数字printf("%d\n", mid);return 0;  // 程序正常结束
}

法二C(利用对数知识点)

#include <stdio.h>  // 包含标准输入输出库
#include <math.h>   // 包含数学库,用于调用 log10 和 pow 函数int main() 
{int n;scanf("%d", &n); double logSum = 0.0;  // 用于存储对数和// 计算 log10(n!)for (int i = 1; i <= n; i++){logSum += log10(i);  // 累加每个 i 的对数值}// 提取最高位数字double small = logSum - floor(logSum);  // 提取小数部分int res = pow(10, small);               // 计算最高位数字printf("%d\n", res);  // 输出结果return 0;  // 程序正常结束
}

1090 : 整数幂(多实例测试)

题目描述

求A^B的最后三位数表示的整数(1<=A,B<=1000)

输入

n个测试实例,每个实例给出两个正整数A,B

输出

输出A^B的最后三位(没有前导0)

样例输入

2
2 3
12 6

样例输出

8
984

C

#include<stdio.h>void solve()
{int a, b; // 定义变量 a 和 bscanf("%d%d", &a, &b); // 输入 a 和 bint mid = 1; // 初始化结果变量 midfor (int i = 0; i < b; i++) // 循环 b 次{mid = (mid * a) % 1000; // 每次乘法后直接对 1000 取模}printf("%d\n", mid); 
}int main()
{int n; // 定义变量 n,表示测试用例数量scanf("%d", &n); // 输入测试用例数量while (n--) // 对每个测试用例调用 solve 函数{solve();}return 0;
}

 

C++(使用快速幂算法)

#include <iostream>
using namespace std;// 快速幂算法,计算 (base^exp) % mod
int quickPow(int base, int exp, int mod) {int result = 1; // 初始化结果为1base %= mod; // 先对底数取模,避免溢出while (exp > 0) {if (exp & 1) { // 如果当前位为1result = (result * base) % mod; // 将当前底数乘到结果中}base = (base * base) % mod; // 底数平方,并取模exp >>= 1; // 指数右移一位}return result;
}void solve() {int a, b;cin >> a >> b; // 输入 a 和 bint result = quickPow(a, b, 1000); // 计算 A^B % 1000cout << result << endl; // 输出结果
}int main() {int n;cin >> n; // 输入测试用例数量while (n--) {solve(); // 处理每个测试用例}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/14250.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32的HAL库开发---高级定时器

一、高级定时器简介 1、STM32F103有两个高级定时器&#xff0c;分别是TIM1和TIM8。 2、主要特性 16位递增、递减、中心对齐计数器(计数值:0~65535)16位预分频器(分频系数:1~65536)可用于触发DAC、ADC在更新事件、触发事件、输入捕获、输出比较时&#xff0c;会产生中断/DMA请…

数据库系统架构与DBMS功能探微:现代信息时代数据管理的关键

欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭&#xff5e; ??? 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua&#xff0c;在这里我会分享我的知识和经验。?? 希望在这里&#xff0c;我们能一起探…

优惠券平台(一):基于责任链模式创建优惠券模板

前景概要 系统的主要实现是优惠券的相关业务&#xff0c;所以对于用户管理的实现我们简单用拦截器在触发接口前创建一个单一用户。 // 用户属于非核心功能&#xff0c;这里先通过模拟的形式代替。后续如果需要后管展示&#xff0c;会重构该代码 UserInfoDTO userInfoDTO new…

搭建集成开发环境PyCharm

1.下载安装Python&#xff08;建议下载并安装3.9.x&#xff09; https://www.python.org/downloads/windows/ 要注意勾选“Add Python 3.9 to PATH”复选框&#xff0c;表示将Python的路径增加到环境变量中 2.安装集成开发环境Pycharm http://www.jetbrains.com/pycharm/…

模板的进阶

非类型模板参数 模板参数分类类型形参与非类型形参 。 类型形参即&#xff1a;出现在模板参数列表中&#xff0c;跟在 class 或者 typename 之类的参数类型名称 。 非类型形参&#xff0c;就是用一个常量作为类 ( 函数 ) 模板的一个参数&#xff0c;在类 ( 函数 ) 模板中可将…

windows安装linux子系统【ubuntu】操作步骤

1.在windows系统中开启【适用于Linux的Windows子系统】 控制面板—程序—程序和功能—启用或关闭Windows功能—勾选适用于Linux的Windows子系统–确定 2.下载安装Linux Ubuntu 22.04.5 LTS系统 Ununtu下载链接 3.安装完Ununtu系统后更新系统 sudo apt update4.进入/usr/l…

【大数据技术】搭建完全分布式高可用大数据集群(Kafka)

搭建完全分布式高可用大数据集群(Kafka) kafka_2.13-3.9.0.tgz注:请在阅读本篇文章前,将以上资源下载下来。 写在前面 本文主要介绍搭建完全分布式高可用集群 Kafka 的详细步骤。 注意: 统一约定将软件安装包存放于虚拟机的/software目录下,软件安装至/opt目录下。 安…

万字详解 MySQL MGR 高可用集群搭建

文章目录 1、MGR 前置介绍 1.1、什么是 MGR1.2、MGR 优点1.3、MGR 缺点1.4、MGR 适用场景 2、MySQL MGR 搭建流程 2.1、环境准备2.2、搭建流程 2.2.1、配置系统环境2.2.2、安装 MySQL2.2.3、配置启动 MySQL2.2.4、修改密码、设置主从同步2.2.5、安装 MGR 插件 3、MySQL MGR 故…

Linux高级IO

文章目录 &#x1f965;IO的基本概念&#x1f347;钓鱼五人组&#x1f348;五种IO模型&#x1f349;高级IO重要概念同步通信 VS 异步通信阻塞 VS 非阻塞 &#x1f34a;其他高级IO&#x1f34b;阻塞IO&#x1f34b;‍&#x1f7e9;非阻塞IO &#x1f965;IO的基本概念 什么是IO…

摄像头模块烟火检测

工作原理 基于图像处理技术&#xff1a;分析视频图像中像素的颜色、纹理、形状等特征。火焰通常具有独特的颜色特征&#xff0c;如红色、橙色等&#xff0c;且边缘呈现不规则形状&#xff0c;还会有闪烁、跳动等动态特征&#xff1b;烟雾则表现为模糊、无固定形状&#xff0c;…

4.3 线性回归的改进-岭回归/4.4分类算法-逻辑回归与二分类/ 4.5 模型保存和加载

4.3.1 带有L2正则化的线性回归-岭回归 岭回归&#xff0c;其实也是一种线性回归&#xff0c;只不过在算法建立回归方程的时候1&#xff0c;加上正则化的限制&#xff0c;从而达到解决过拟合的效果 4.3.1.1 API 4.3.1.2 观察正则化程度的变化&#xff0c;对结果的影响 正则化力…

CSS outline详解:轮廓属性的详细介绍

什么是outline&#xff1f; outline&#xff08;轮廓&#xff09;是CSS中一个有趣的属性&#xff0c;它在元素边框&#xff08;border&#xff09;的外围绘制一条线。与border不同的是&#xff0c;outline不占用空间&#xff0c;不会影响元素的尺寸和位置。这个特性使它在某些…

设计模式.

设计模式 一、介绍二、六大原则1、单一职责原则&#xff08;Single Responsibility Principle, SRP&#xff09;2、开闭原则&#xff08;Open-Closed Principle, OCP&#xff09;3、里氏替换原则&#xff08;Liskov Substitution Principle, LSP&#xff09;4、接口隔离原则&am…

硬件工程师思考笔记02-器件的隐秘角落:磁珠与电阻噪声

目录 引言 一、磁珠&#xff1a;你以为的“噪声克星”&#xff0c;可能是高频杀手 1. 磁珠的阻抗特性与误区 2. 案例&#xff1a;磁珠引发的5G射频误码率飙升 二、电阻&#xff1a;静默的噪声制造者 1. 电阻噪声的两种形态 2. 案例&#xff1a;ADC精度被电阻噪声“偷走” 三、设…

mysql 不是内部或外部命令,也不是可运行的程序或批处理文件

mysql 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件 前言描述1、&#x1f331;环境变量配置&#xff08;高级系统设置&#xff09;&#xff1a;2、&#x1f331;环境变量配置&#xff08;系统属性&#xff09;&#xff1a;3、&#x1f331;环境变量配置&…

极客说|利用 Azure AI Agent Service 创建自定义 VS Code Chat participant

作者&#xff1a;卢建晖 - 微软高级云技术布道师 「极客说」 是一档专注 AI 时代开发者分享的专栏&#xff0c;我们邀请来自微软以及技术社区专家&#xff0c;带来最前沿的技术干货与实践经验。在这里&#xff0c;您将看到深度教程、最佳实践和创新解决方案。关注「极客说」&a…

在rtthread中,scons构建时,它是怎么知道是从rtconfig.h找宏定义,而不是从其他头文件找?

在rtthread源码中&#xff0c;每一个bsp芯片板级目录下都有一个 SConstruct scons构建脚本的入口&#xff0c; 在这里把rtthread tools/目录下的所有模块都添加到了系统路径中&#xff1a; 在tools下所有模块中&#xff0c;最重要的是building.py模块&#xff0c;在此脚本里面…

Redis基础--常用数据结构的命令及底层编码

零.前置知识 关于时间复杂度,按照以下视角看待. redis整体key的个数 -- O(N)当前key对应的value中的元素个数 -- O(N)当前命令行中key的个数 -- O(1) 一.string 1.1string类型常用命令 1.2string类型内部编码 二.Hash 哈希 2.1hash类型常用命令 2.2hash类型内部编码 2.3ha…

【leetcode100】岛屿的最大面积

1、题目描述 给你一个大小为 m x n 的二进制矩阵 grid 。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合&#xff0c;这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0&#xff08;代表水&#xff09;包围着。 岛屿的面积…

将仓库A分支同步到仓库B分支,并且同步commit提交

一、 问题 有一仓库A 和 一仓库B&#xff0c; 需要将仓库A分支a1所有提交同步推送到仓库B分支b1上 二、 解决 2.1、 首先需要仓库A、仓库B的权限&#xff0c; 2.2、将仓库A clone到本地&#xff0c; 进入A目录&#xff0c;并且切换到a1分支 cd A ## A 为A仓库clone到本地代…