1、輸入乙個只含有英文本母的字串,輸出最大回文子串的長度及此長度回文子串的個數(回文不區分大小寫)。
樣例:輸入abaab (最大回文子串為baab)
輸出4 1
輸入abcbbb (最大回文子串為bcb和bbb)
輸出 3 2
實際測試樣例:
輸入:a b
輸出: 1 2
輸入:abcbb
輸出:3 1
輸入:aaaaaa
輸出:6 1
#includeusing namespace std;
//判斷是否為回文串
bool judge(string str)
return true;
}//計算s在str**現了幾次
2、哥德**猜想
任何乙個大於2的偶數均可表示為兩個素數之和。輸入m, n(6<=m<=n<=50),則把[m, n]內的所有偶數表示成兩個素數之和的形式。輸出這些素數及其出線的次數,輸出次序按照素數出現的次數從多到少輸出;若出線次數相同,按照素數從大到小輸出;若偶數有多種素數相加形式,則把所有的情況都輸出,每種情況佔一行。
輸入:8 9 輸出:5 1 3 1
輸入:9 10 輸出:5 2
7 1 3 1
輸入:14 15 輸出:7 2
11 1 3 1
輸入:8 10 輸出:5 3 3 1
3 2 7 1 5 1
#includeusing namespace std;
static int num[100] = ; //素篩
vectorvect; //存放素數
typedef pairpair;
//自定義排序
bool cmp(pair a, pair b)
//素篩確定素數表
void f()
} for(int i = 2;i <= 100;i++)
} //計算兩個向量的笛卡爾積
vector> cal(vector> v1, vector> v2)
for(map::iterator iter = n2.begin();iter != n2.end();iter++)
vectortemp(m1.begin(), m1.end());
sort(temp.begin(), temp.end(), cmp);
for(int k = 0;k < temp.size();k++)
res.push_back(m2);
} }return res;
}int main()
} m[i] = v1; }
if(m.size() == 1)
for(int i = res.size() - 1;i >= 0;i--){ //遍歷每個map,並排序
2023年北理複試上機題
1 輸入一串整數,輸入指令。要求 1 輸入a t,在這串整數後新增整數t。2 輸入c m n,用n替換m。3 輸入d t,刪除t。4 輸入s排序。include include include include include using namespace std print vectorvi co...
2023年北理複試上機題
這題遇到了很多問題,首先是sscanf 在使用這個時,無論是前面的字串還是後面用來接受的變數,注意都是字元陣列,不要用string,但可以接收後,直接賦值給string。char 型別給string 直接賦值,反之不可,用for i 0 i當結構體型別是 迭代器 it,訪問它內容的時候就不要 直接i...
2023年北理複試上機題
1 某人有 8 角的郵票 5 張,1 元的郵票 4 張,1元 8 角的郵票 6 張,用這些郵票中的一張或若干張可以得到多少種不同的郵資?題目要求是得到不同的郵資,也就是最後的總價值是不同的。這裡我們可以考慮完所有的情況,然後去掉重複的就可以了。include includeusing namespa...