1028(題目及原解答
1.注意若組數為0時的輸出
#include#include#include#includeusing namespace std;
struct person;
bool cmp(person a, person b)
int main());
} }sort(v.begin(), v.end(), cmp);
if(v.size() != 0)else
return 0;
}
1030(題目及原解答
1.若要找乙個有序數列中的最長序列,不應當預設由第乙個元素作為起始
2.在確認乙個最長序列ans後,下一輪檢測從初始元素的ans後個元素開始
3.如果每次迴圈都進行判斷會超時,因此當數列不符合要求時才break出迴圈,計算長度
#include#include#includeusing namespace std;
int main()
sort(v.begin(), v.end());
int ans = 0;
for(int i = 0; i < n; i++)
ans = j - i + 1 > ans ? j - i + 1 : ans;
} }cout << ans << endl;
return 0;
}
1033(題目及原解答
1.注意第一行輸入可能有空格(不知道為什麼)
2.錄入輸入文字字串後直接迴圈判斷字元是否可輸出
#include#include#includeusing namespace std;
int main()
} string s;
getline(cin, s);
for(int i = 0; i < s.size(); i++)else if(m[s[i]] == 1)else
}return 0;
}
1034(題目及原解答
1.思路:四種運算作為四種函式,每種函式均呼叫格式化函式來輸出三個分數。
2.格式化注意點:
分子分母符號問題;
分子分母是否相等;
分子分母約分;
帶分數處理;
#includeusing namespace std;
long a, b, c, d;
void config(long a, long b)
if (b == 0)
bool isneg = false;
if (a < 0 || b < 0) else if (a < 0) else if (b < 0)
} if (isneg == true)
long a = a, b = b;
while (b != 0)
a /= a;
b /= a;
if (a == b) else if (a > b) else
}else
if (isneg == true)
}void add()
void sub()
void mul()
void divi()
int main()
1045(題目及原解答
1.主要思想:排序,之後遍歷排序前與排序後的陣列,每次迴圈找出目前為止最大的數,如果某數排序前後位置不變且大於當前最大的數,則符合要求
2.注意當輸出個數為零時需要輸出乙個換行符
#include#include#include#includeusing namespace std;
int main()
sort(v1.begin(), v1.end());
int maxn = -1;
sets;
for(int i = 0 ; i < n; i++)
if(maxn < v2[i])
} cout << s.size() << endl;
if(s.size() != 0) else
} }else
return 0;
}
關於PAT乙級一些題目要點的重新整理(三)
1050 題目及原解答 1.建立座標系,將幾個關鍵位置的座標寫出來,方便思考 2.注意不要產生資料的位置重疊,否則會有資料被覆蓋 3.m n與level的確定 求出n的開方數,向下取整。從此數開始,向下判斷是否可被n整除,若可以則此數為n,得到n後便可求m。level為m除以2向上取整 includ...
一些有關PAT乙級考試的內容
1.判斷素數 bool isprime int n 2.解決執行超時問題 1 把cin換為scanf 把cout換為printf 2 在輸入之前加上std ios sync with stdio false 語句 方法 1 和方法 2 不能同時使用。3.大寫字母轉化為小寫字母 string func...
關於素數的一些題目
看了czyuan的總結,決定先找幾道素數的題目玩玩.首先,判定素數的方法除了暴力列舉到根號n外還有篩法,不要小看,他可以演變出一些題目 for i 2 i maxn i 短短幾行,可以在0.9s左右篩出一千萬內的素數,應該夠用了 這個題 是篩素數的好題,當然要先知道威爾遜定理.不知道的話搜一下吧.這...