当前位置: 首页 > news >正文

沈阳师范大学期末考试复习pta循环数组函数指针经典编程题汇总+代码分析

目录

前言:临近期末,接下来给大家分享一些经典的编程题,方便大家复习。不一定难,但都是入门的好题,尽可能的吃透彻。因为据说期末考试的题很多来自pta上面的原题。

对于一些语言我是用c++来写的,不妨碍理解,大家把cin,getline看作是c语言中的scanf,把cout, 看作是c语言中的printf ,把#include看作是c的头文件。

循环:

第一题:求满足条件的斐波拉契数:

第二题:求n以内最大k个素数以及他们的和

第三题:英文字母替换加密

第四题:查验身份证

数组:

第一题:

第二题:字符串字母大小写转换​编辑

第三题:统计一行文本的单词个数

第四题:求整数序列中出现次数最多的数

第五题:交换最小值和最大值

第六题:求矩阵各行元素之和

函数:

第一题:杨辉三角形

第二题:歌词比赛打分

第三题:数据排序

第四题:近似求PI

第五题:哥德巴赫猜想

第六题:Jack cheng的烦恼3

​指针:

第一题:字符串的连接

第二题:删除字符串中数字字符

第三题:输出学生成绩

第四题:删除字符串中指定字母

第五题:用指针方法求10个数最大和最小值之差

博主对大家说的话:

最后的最后还是想给大家说,相信在初学的过程中定然会有些吃力与不理解,但可以适当地取舍,先跳过,把在能力范围内的题目先整懂,相信自己一定能整明白,只是时间问题,就像翁恺老师在视频里说我们大家都是一个脑子,你能搞懂的我也能搞懂。其实我开始在做一些题的时候也很吃力,但当你能力慢慢提高之后再回过头来看这个题,以及之前迷糊的题,你会有新的感悟。相信通过以上题目,大家对c语言基础有了新的理解,感谢大家的阅读,期待下次与你见面。


前言:临近期末,接下来给大家分享一些经典的编程题,方便大家复习。不一定难,但都是入门的好题,尽可能的吃透彻。因为据说期末考试的题很多来自pta上面的原题。

对于一些语言我是用c++来写的,不妨碍理解,大家把cin,getline看作是c语言中的scanf,把cout, 看作是c语言中的printf ,把#include<bits/stdc++.h>看作是c的头文件。

循环:

第一题:求满足条件的斐波拉契数:

2dae3c6e949b45a08fb33b114f3ce0dc.png

分析:为什么上这道题,不是因为难而是因为,有一年考到过斐波拉契函数,所以记下来就好,没什么好说的

#include<stdio.h>
int fib(int n);
int main() {int i, n;scanf("%d", &n);//输入数for (i = 1;; i++) //让i来自增遍历所有斐波拉契数{if (fib(i) > n) {printf("%d", fib(i));break;//一旦大于就跳出循环}}return 0;
}
int fib(int n) //斐波拉契函数
{if (n <= 2) {return 1;}else {return fib(n - 1) + fib(n - 2);}
}

第二题:求n以内最大k个素数以及他们的和

77401e6470fd42988499df9c7bd9c64b.png

思路:首先要输出不超过n的最大的k个素数,我们就先从n-1开始遍历,然后看输出的格式,肯定要定义一个数组arr来存放这些数字,但数目又是有限的,所以每得到一个素数,k就要减一,当k为0的时候跳出循环,这样思路打开了,然后最后输出的时候注意一下格式,最后一个数字不用输出+,就OK了。

410bb516b686402c8198020155a33174.png

第三题:英文字母替换加密

c0606f0450504aad8ac80c1ced18f91a.png

思路:

按步就班,这里我用c++实现,大家用c语言也是一个原理,大家可以定一个字符数组然后用scanf

读取,和

string str;
getline(cin, str);

本质是一样,然后呢,求字符串长度len可以用strlen库函数来实现,cout大家就换成printf输出,在判断是否是字母的语句可以换成用逻辑符号判断,即在首字母和末尾字母的区间里面,然后变成大写的可以换成str[i]-32来实现,变成大写也是同理。总体的思路就是先遍历,然后判断每一个字符是不是字母,如果是那么是大写还是小写,如果不是那么就不动自动输出。

#include<bits/stdc++.h>
using namespace std;
string newstr(string str);
int main()
{string str;getline(cin, str);str = newstr(str);cout << str;return 0;
}
string newstr(string str)
{int len = str.size();for (int i = 0; i < len; i++){if (isalpha(str[i]))//是字母{if (islower(str[i]))//shi xiao xie {str[i] = toupper(str[i]);if (str[i] == 'Z'){str[i] = 'A';}elsestr[i]++;}else{str[i] = tolower(str[i]);if (str[i] == 'z'){str[i] = 'a';}elsestr[i]++;}}}return str;
}

第四题:查验身份证

8965e881f0e14349a8e6bc05d9a64997.png

思路:这道题相对来说还是比较难,一般人写不出除非你是二班的人。

写法还是一个,那就是读懂题意见招拆招。首先身份证不合格有两种一种是前十七个字符有字母另外一种就是第十八位字符为错误。并且要理解加权的意思,最终我们要和验证码来比较,我们可以验证码弄一个数组,把验证码数组的下标当成我们加权求和然后%11的结果来比较是否相同。细节的地方就是在求和的时候,因为sfz是字符数组要减去'0'才是我们计算的数字。

#include<bits/stdc++.h>
using namespace std;
int main()
{char str[11] = { '1','0','X','9','8','7','6','5','4','3','2' };//验证吗char sfz[18];int jq[17] = { 7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2 };int n, sum = 0;cin >> n;int n1 = n;int flag = 0;while (n--){//cin.getline(sfz, 18);//输入身份证cin >> sfz;sum = 0;for (int i = 0; i < strlen(sfz)-2; i++)//{if (!(isdigit(sfz[i])))//说明存在字母{cout << sfz << endl;break;}else//不存在字母,则计算加权和{sum += jq[i] * (sfz[i] - '0');}}if (sfz[17] != str[sum % 11]){cout << sfz << endl;;}elseflag++;}if (n1 == flag){cout << "All passed";}return 0;
}

数组:

第一题:

a1b52a6f80794575ad2f4b184717b004.jpeg

思路:里面的sort你可以换成冒泡排序也是一样的做法,cin你换成scanf,cout换成printf。整体的思路你应该看的明白,注意每一次算一个人的成绩时,要把sum归0,不然就会多算,然后就是要输出,单科平均成绩最大及序号,没必要多开数组,总成绩最大,单科平均就最大,人数都是一样的,然后定义个变量记录下来就ok了

f876aed611c341218f5a349d93e460a3.png

8bfa556eb10c446d8159df2c2c4521ed.png

第二题:字符串字母大小写转换668fd12c0e9a408d8bbae754b8f381c3.png

思路:明白大小写转化之间的关系,这里c实现和c++实现都给大家呈现,

#include<stdio.h>
#include<string.h>
int main() {char s[100];scanf("%s",s);for(int i = 0; s[i] != '#'; i++) {if (s[i] >= 'A' && s[i] <= 'Z') {s[i] += 32;}else if (s[i] >= 'a' && s[i] <= 'z') {s[i] -= 32;}}for (int i = 0; s[i] != '#'; i++) {printf("%c",s[i]);}return 0;
}

c++:

#include<bits/stdc++.h>
using namespace std;
int main()
{string s;for (int i = 0; s[i] != '#'; i++){if (islower(s[i]))s[i] = toupper(s[i]);else if (isupper(s[i]))s[i] = tolower(s[i]);}for (int i = 0; s[i] != '#'; i++) {printf("%c", s[i]);}return 0;
}

第三题:统计一行文本的单词个数

31000277b4e24b76bb203da6d9607f10.png

这个题要考虑的情况也不少,可能开头就有空格,这里给大家介绍一种简洁的方式istringstream 在这段代码中的作用是将输入的字符串 line 转换为字符串流对象 iss,然后我们可以使用 iss 从中逐个读取单词并进行处理。并且不会将空格读入

#include<bits/stdc++.h>
using namespace std;
int main()
{string line;getline(cin, line);istringstream iss(line);int count = 0;string word;while (iss >> word){count++;}cout << count << endl;return 0;
}

第四题:求整数序列中出现次数最多的数

6e8ce8841e664806840f07dbf2864c87.png

思路:这题没什么说的,按部就班。用一个计数器,出现一次加一次,两次遍历,如果比最大的次数大就更新。

#include<stdio.h>
int main()
{int n,i,j;scanf("%d",&n);int a[10000];int count=0;int max=0,maxcount=0;for(i=0;i<n;i++)scanf("%d",&a[i]);for(i=0;i<n;i++){for(j=0;j<n;j++){if(a[i]==a[j])count++;}if(count>maxcount){maxcount=count;max=a[i];}count=0;}printf("%d %d",max,maxcount);return 0;
}

第五题:交换最小值和最大值

e86b8c5971d04c73962cec17dda717ed.png

思路:一步步实现,代码大家应该看得懂,看不懂的留言。这是最朴实无华的写法了

#include<stdio.h>
int main()
{int n=0;int a[10]={0};int max=0;int min=0;int t=0;scanf("%d",&n);//将所有数字存入数组a中 for (int i=0;i<n;i++){scanf("%d",&a[i]);}//找出数组a中最小的元素:元素大小比较,找到小的哪个,将下标值赋给min。循环之后a[min]就是数组a中最小的 for(int i=1;i<n;i++){if(a[i]<a[min]){min=i;}}//将数组a中最小的元素与a[0]交换位置 t=a[min];a[min]=a[0];a[0]=t;//重复上述操作,找到最大值 for(int i=1;i<n;i++){if(a[i]>a[max]){max=i;}}//将最大值与元素数组最后一个交换位置 t=a[max];a[max]=a[n-1];a[n-1]=t;//遍历并打印数组a的元素 for(int j=0;j<n;j++){printf("%d ",a[j]);}return 0;} 

第六题:求矩阵各行元素之和

a323e60dd85047beadc65a1910bb2a3b.png

#include <stdio.h>int main(){int m, n;do{scanf("%d %d", &m, &n);}while( m<1 || n>6  );    // 确保m,n的范围int mat[m][n];  // 定义矩阵for( int i=0; i<m; i++ ){int sum = 0;for( int j=0; j<n; j++ ){scanf(" %d", &mat[i][j]);    // 输入数据sum += mat[i][j];    // 输入数据的同时累计一行的和}printf("%d\n", sum);}return 0;
}

函数:

第一题:杨辉三角形

a7132365e2fd420f938a62747d44228f.png

fff8dd9d33284ad0b5cd2827940378d7.png思路:要写这个还是要知道这个杨辉三角怎么构成,第一行第一个和每行最后一个都是1,然后中间的项存在a[i][j]=a[i-1][j]+a[i-1][j-1]的规律

void fun(int a[N][N], int n)
{for (int i = 0; i < n; i++){a[i][0] = 1;a[i][i] = 1;for (int j = 1; j < i; j++){a[i][j] = a[i - 1][j] + a[i - 1][j - 1];}}
}

第二题:歌词比赛打分

c4f714b79f8841d9b04135a34e545e65.png思路:还是要知道指针的一些知识,p+i表示指针所指向的对象,看不明白的可以看我指针的博客,复习一下再来整

思路:先找最高然后找最低,用总的减去,然后除总个数减2,
double getScore(int* score, int total)
{double max = -1, min = 101, sum = 0;for (int i = 0; i < total; i++){sum += *(score + i);if (*(score + i) > max){max = *(score + i);}if (*(score + i) < min){min = *(score + i);}}return (sum - max - min) / (total - 2);
}

第三题:数据排序

33966c28129344d7b9d5692b7e300a25.png思路:

排序算是一个重点,这里给大家介绍两种简单的排序。

一个冒泡排序一个选择排序,有点迷的可以去学一下

冒泡排序:

void fun(int a[], int  n)
{for (int i = 0; i < n - 1; i++){for (int j = 0; j < n - 1 - i; j++){if (a[j] > a[j + 1]){int temp=a[j+1];a[j+1]=a[j];a[j]=temp;}}}
}

选择排序:

void  fun(int a[], int  n)
{int i, j, k;for (i = 0; i < n; i++){for (j = 0; j < n; j++){if (a[j] > a[i]){k = a[j];a[j] = a[i];a[i] = k;}}}
}

第四题:近似求PI

340ce99feefc48b4bddda359d00b9b83.png思路:题目看似抽象,其实仔细分析还是好整。观察出通项,然后记得每一项都是在前一项的基础上再乘,接着求和即可。

找通项规律,i/(2*i+1);每一项是在前一项的基础上乘
#include<bits/stdc++.h>
using namespace std;
int main()
{double i = 1;double eps, sum = 1;cin >> eps;double item = 1;while (item >= eps){item = item*1.0 * (i / (2 * i + 1));i++;sum += item;}printf("PI = %.5lf", sum * 2);return 0;
}

第五题:哥德巴赫猜想

87005193aaee4adda129f038c1e45e4c.png思路:这个题之前讲过,再次搬出来说明它的重要性。这个题其实就是素数的那道题的变式,关键是分解成最小的素数,所以你从2开始遍历,找到最小的就用n-最小的,得到另外一个数,如果这个数也是素数则符合条件跳出

4cdfd6a6531740b7aff62ead6d033f91.png

第六题:Jack cheng的烦恼3

2fadbcd3ea2649f1ab057684c079f8e7.png

思路:道题也是素数的一个变式,你只需要把n的每一位数提取出来,求和,然后判断是否为素数即可

35f9213fe6064388987c21c898330350.png指针:

第一题:字符串的连接

06db103ef53f4a489307bb954b2638c2.png思路:

先让指针s自增,直到他指向\0,然后开始赋值,最后别忘了把\0填上去

//连接两个字符串,思路就是s接受的是str1的地址,t接受的是str2的地址,那么要把t赋值到s的末端,只需
//指向str1的指针s自增到/0的位置,然后把str2赋给str1,同时两种指针向后移动
//char* str_cat(char* s, char* t)
//{
//	char* p = s;
//	while (*s != '\0')
//	{
//		s++;
//	}
//	//出循环的时候s指向的是/0位置
//	//开始把str2赋给str1;
//	int i = 0;
//	while (*(t+i) != '\0')
//	{
//		*(s+i) = *(t+i);
//		i++;
//	}
//	*(s + i) = '\0';
//	return p;
//}

第二题:删除字符串中数字字符

ff9103d0056e471481433131ea9df83a.png

思路:

首先要求得字符串的长度,然后开始遍历,判断是否是数字字符,如果是,就记录当前的位置,将后续的字符往前移动,最后要把i--,原因就是当移动完之后如果不减的话回到循环体i++之后会指向下一个位置,这个时候如果有连续的数字字符,就跳过了这个情况。

void delnum(char* s) {if (s == NULL) {return;}char digit[10] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };int i = 0;int len = 0;while (*(s + len) != '\0') {len++;  // 获取字符串长度}for (i = 0; i < len; i++) {if (*(s + i) >= '0' && *(s + i) <= '9') {  // 判断是否为数字字符int j = i;while (*(s + j) != '\0') {*(s + j) = *(s + j + 1);  // 将后续字符往前移动j++;}i--;// 需要回退一步,原因就是当是连续字符的时候你回到for循环的时候,你的i又会加1,那么它就不会处理当前的字符,万一当前的字符是数字呢?}}
}

第三题:输出学生成绩

863e116b85e2405686d6d4f15fc7c72f.png

思路:按步就班,注意数据类型,

#include<bits/stdc++.h>
using namespace std;
int main()
{double n, max = -1, min = 101;cin >> n;double sum = 0, avg = 0;int n1 = n;while (n--){int score;cin >> score;sum += score;if (score > max)max = score;if (score < min)min = score;}avg = sum * 1.0 / n1;printf("average = %.2lf\nmax = %.2lf\nmin = %.2lf",avg,max,min);return 0;}

第四题:删除字符串中指定字母

225de8cf6f474f89ac52357480d24a9a.png思路:这道题和前面的删除数字字符类似,唯一要注意的就是要将i--,防止指定的字母是连续的状态,

#include <iostream>
#include <cstring>
using namespace std;
int main() {char a[101] = { 0 };char* p = a;scanf("%s", a);int len = strlen(a);int i, j;for (i = 0; i < len; i++) {if (a[i] == 'a') {j = i;while (*(p + j) != '\0') {*(p + j) = *(p + j + 1);j++;}i--;  // 由于删除一个字符,需要将 i 回退一个位置len--;  // 更新字符串长度}}cout << a << std::endl;return 0;
}

第五题:用指针方法求10个数最大和最小值之差

3b5b9a758dd44548a0f3fa0289a21dc7.png思路:很基础的指针题,大家看代码即可

#include<bits/stdc++.h>
using namespace std;
int main()
{int arr[10];int* p = arr;int min = arr[0], max = arr[0];for (int i = 0; i < 10; i++){cin >> *(p + i);if (*(p + i) > max)max = *(p + i);if (*(p + i) < min)min = *(p + i);}cout << "difference value = " << max - min;return 0;
}

然后给大家扩展一下用指针实现冒泡排序

eacc94a13c954dfb813b7556853c31ad.png

博主对大家说的话:

最后的最后还是想给大家说,相信在初学的过程中定然会有些吃力与不理解,但可以适当地取舍,先跳过,把在能力范围内的题目先整懂,相信自己一定能整明白,只是时间问题,就像翁恺老师在视频里说我们大家都是一个脑子,你能搞懂的我也能搞懂。其实我开始在做一些题的时候也很吃力,但当你能力慢慢提高之后再回过头来看这个题,以及之前迷糊的题,你会有新的感悟。相信通过以上题目,大家对c语言基础有了新的理解,感谢大家的阅读,期待下次与你见面。

相关文章:

沈阳师范大学期末考试复习pta循环数组函数指针经典编程题汇总+代码分析

目录 前言&#xff1a;临近期末&#xff0c;接下来给大家分享一些经典的编程题&#xff0c;方便大家复习。不一定难&#xff0c;但都是入门的好题&#xff0c;尽可能的吃透彻。因为据说期末考试的题很多来自pta上面的原题。 对于一些语言我是用c来写的&#xff0c;不妨碍理解…...

【面试攻略】Oracle中blob和clob的区别及查询修改方法

大家好&#xff0c;我是小米&#xff0c;欢迎来到小米的技术小屋&#xff01;今天我们要一起来聊聊一个在面试中常常被问到的问题——“Oracle中Blob和Clob有啥区别&#xff0c;在代码中怎么查询和修改这两个类型的字段里的内容&#xff1f;”别急&#xff0c;跟着小米一步步揭…...

An illegal reflective access operation has occurred问题记录

报错 2023-11-30T01:08:18.7440800 [ERROR] [system.err] WARNING: An illegal reflective access operation has occurred 2023-11-30T01:08:18.7450800 [ERROR] [system.err] WARNING: Illegal reflective access by com.intellij.ui.JreHiDpiUtil to method sun.java2d.Sun…...

抓取检测(Grasp Dection)

抓取检测 抓取检测被定义为能够识别任何给定图像中物体的抓取点或抓取姿势。抓取策略应确保对新物体的稳定性、任务兼容性和适应性&#xff0c;抓取质量可通过物体上接触点的位置和手的配置来测量。为了掌握一个新的对象&#xff0c;完成以下任务&#xff0c;有分析方法和经验…...

人工智能学习4(特征选择)

编译工具&#xff1a;PyCharm 有些编译工具在绘图的时候不需要写plt.show()或者是print就可以显示绘图结果或者是显示打印结果&#xff0c;pycharm需要&#xff08;matplotlib.pyplot&#xff09; 文章目录 编译工具&#xff1a;PyCharm 特征选择嵌入法特征选择练习&#xff…...

vue中keep-alive的使用

什么是keep-alive&#xff1f; keep-alive是一个内置组件&#xff0c;用于缓存和管理组件的状态。 当 keep-alive包裹一个组件时&#xff0c;这个组件的状态将会被缓存起来&#xff0c;而不是每次重新渲染。这在多个视图之间切换时特别有用&#xff0c;可以避免重复的创建和销…...

2023年第十二届数学建模国际赛小美赛B题工业表面缺陷检测求解分析

2023年第十二届数学建模国际赛小美赛 B题 工业表面缺陷检测 原题再现&#xff1a; 金属或塑料制品的表面缺陷不仅影响产品的外观&#xff0c;还可能对产品的性能或耐久性造成严重损害。自动表面异常检测已经成为一个有趣而有前景的研究领域&#xff0c;对视觉检测的应用领域有…...

2023全球数字贸易大赛-web3,区块链,诺威信,浪潮云,微众区块链,福建中科星泰,瓴羊区块链,联想-元宇宙,硅基智能-

目录 诺威信B隐私计算平台 浪潮云=星火连-澳优码 HyperChain 产品介绍...

计算机网络一:TCP/IP基础概念和常见面试题

TCP/IP是一种网络通信协议族&#xff0c;它由两个主要的协议构成&#xff1a;TCP&#xff08;传输控制协议&#xff09;和IP&#xff08;网络互联协议&#xff09;。TCP负责数据的可靠传输&#xff0c;而IP则负责数据的路由和转发。 TCP/IP有哪些层次结构&#xff1f;每个层次的…...

图论|684.冗余连接 685. 冗余连接 II

684.冗余连接 题目&#xff1a;树可以看成是一个连通且 无环 的 无向 图。 给定往一棵 n 个节点 (节点值 1&#xff5e;n) 的树中添加一条边后的图。添加的边的两个顶点包含在 1 到 n 中间&#xff0c;且这条附加的边不属于树中已存在的边。图的信息记录于长度为 n 的二维数组 …...

依据小兔鲜项目,总结Javascript数组常用方法

find 在向购物车添加某种规格的商品时&#xff0c;查找购物车列表中是否已经存在该规格的商品 find()方法传入一个回调函数&#xff0c;代表对数组每一项item的校验要求 返回数组中第一个符合条件的元素的值&#xff0c;如果没有则返回undefined const item cartList.value…...

制作飞腾(arm)芯片架构的nexus镜像

nexus官方没有arm架构的镜像&#xff0c;下面介绍一种自己制作镜像的方式 1、事先准备 在一个arm架构机器上安装docker下载nexus的linux版(https://www.sonatype.com/download-oss-sonatype)下载centos的arm架构镜像(docker pull centos-centos8.4.2105)下载arm版本的java8(ht…...

Git 标签管理

前言 标签 tag&#xff0c;就相当于对 某一次的 commit 做一个标识&#xff0c;起了一个别名&#xff0c;例如&#xff1a;在某个项目发布版本的时候&#xff0c;可针对最后一次 commit 起一个别名 v1.0 来标识这一次的commit。tag 的作用&#xff1a;commit id 相对于 tag 是很…...

多级缓存自用

1.什么是多级缓存 传统的缓存策略一般是请求到达Tomcat后,先查询Redis,如果未命中则查询数据库,如图: 存在下面的问题: •请求要经过Tomcat处理,Tomcat的性能成为整个系统的瓶颈 •Redis缓存失效时,会对数据库产生冲击 多级缓存就是充分利用请求处理的每个环节,添加缓…...

1.1卷积的作用

上图解释了1∗1卷积如何适用于尺寸为H∗W∗D的输入层&#xff0c;滤波器大小为1∗1∗D&#xff0c;输出通道的尺寸为H∗W∗1。如果应用n个这样的滤波器&#xff0c;然后组合在一起&#xff0c;得到的输出层大小为H∗W∗n。 1.1∗1卷积的作用 调节通道数 由于 11 卷积并不会改…...

Unity 简单打包脚本

打包脚本 这个打包脚本适用于做demo&#xff0c;脚本放在Editor目录下 using System; using System.Collections; using System.Collections.Generic; using System.IO; using UnityEditor; using UnityEngine;public class BuildAB {[MenuItem("Tools/递归遍历文件夹下…...

基于社区电商的Redis缓存架构-缓存数据库双写、高并发场景下优化

基于社区电商的Redis缓存架构 首先来讲一下 Feed 流的含义&#xff1a; Feed 流指的是当我们进入 APP 之后&#xff0c;APP 要做一个 Feed 行为&#xff0c;即主动的在 APP 内提供各种各样的内容给我们 在电商 APP 首页&#xff0c;不停在首页向下拉&#xff0c;那么每次拉的…...

Python提取PDF表格(基于AUTOSAR_SWS_CANDriver.pdf)

个人学习笔记&#xff0c;仅供参考。 需求&#xff1a;提取AUTOSAR SWS中所有的API接口信息&#xff0c;用于生成C代码。 此处以AUTOSAR_SWS_CANDriver.pdf为例&#xff0c;若需要提取多个SWS文件&#xff0c;遍历各个文件即可。 1.Python包 pdfplumber是一款完全用python开…...

UVa1583生成元(Digit Generator)

题目 如果x加上x的各个数字之和得到y&#xff0c;也就是说x是y的生成元。给出n(1<n<100000)&#xff0c;求最小生成元。无解则输出0。 输入输出样例 输入 3 216 121 2005输出 198 0 1979思路 要想解决这个题目&#xff0c;只需要对每一个输入的值从1开始遍历找到小于…...

【Springboot+vue】如何运行springboot+vue项目

从github 或者 gitee 下载源码后&#xff0c;解压&#xff0c;再从idea打开项目 后端代码处理 这是我在gitee下载下来的源码 打开之后&#xff0c;先处理后端代码 该配置的配置&#xff0c;该部署的部署 比如将sql文件导入数据库 然后去配置文件更改配置 然后启动项目 确保…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

【Oracle】分区表

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. 分区表基础概述1.1 分区表的概念与优势1.2 分区类型概览1.3 分区表的工作原理 2. 范围分区 (RANGE Partitioning)2.1 基础范围分区2.1.1 按日期范围分区2.1.2 按数值范围分区 2.2 间隔分区 (INTERVAL Partit…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码&#xff0c;实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...