2024年6.7--6.17学习总结
2024年6.7--6.17学习总结
一:java
看了向上转型,向下转型,继承,super,构造器。
二:考试
6月6号考了英语期末,听力填词,听力+个人总结,难度还好,但是早八,难受。
13号考了开卷的模式识别,一半的分都在抄书,剩下的是书上例题改点数据,还行。
15号考了六级,累死我了。
中间穿插着在复习计网,形式语言,做程序设计的pre,补计网作业,补机器智能大作业,形式语言的作业,期末周人麻了。后面还有18号的毛概,24号的计网,26号的形式语言。
三:洛谷
6.9高精度加
string add(string str1,string str2){
string str;
int len1=str1.length();
int len2=str2.length();
int temp,cf;
if(len1>len2){
for(int i=0;i<len1-len2;i++){
str2='0'+str2;
}
}//先将长度补到一样
for(int i=len1-1;i>=0;i--){
temp=str1[i]-'0'+str2[i]-'0'+cf;
cf=temp/10;
temp=temp%10;
str=char('0'+temp)+str;
}
if(cf==1){
str='1'+str;
}
return str;
}
6.16奖学金排序(重载cmp)
struct stu{
int order,ach[3]={0},tot;
};
bool cmp(const &stu a,const &stu b){
if(a.tot!=b.tot) return a.tot>b.tot;
else if(a.ach[0]!=b.ach[0]) return a.ach[0]>b.ach[0];
else return a.order<b.order;
}
int main(){
int n,temp,sign=5;
stu m[maxn],x;
//输入数据省略
sort(m,m+n);
}
6.17选数(递归搜索,素数判断)
#include <bits/stdc++.h>
using namespace std;
int n,k,a[30],ans;
bool isprime(int a){
if(a==1) return 0;
for(int i=2;i*i<=a;i++){
if(a%i==0) return false;
}
return true;
}
void dfs(int temp,int sum,int startx){
//temp表示已经选了几个数,sum表示现在总和,startx表示现在选的数
if(temp==k){
if(isprime(sum)){
ans++;
return;
}
}
for(int i=startx;i<n;i++){
dfs(temp+1,sum+a[i],i+1);
}
return;
}
int main(){
cin>>n>>k;
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n);
dfs(0,0,0);
cout<<ans;
}