2024年6.7--6.17學習總結

vast_joy發表於2024-06-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;
}