(节选自《算法笔记》)
进制转换
P进制数转十进制数y
1 | int y=0,product=1; |
十进制数y转换成Q进制数z
1 | int z[40],num=0; |
这样z数组从高位z[num-1]到低位z[0]即为Q进制z,进制转换完成。
字符串
回文串
回文串是常常出现的一种考题。
对于回文串的处理:1.根据对称性;2.利用for循环,从后向前遍历(逻辑性比较简单)
思路1.
假设字符串str的下标从0开始,由于“回文串”是正读和反读都一样呃字符串,因此只需要遍历字符串的前一半(注意:不需要取到i==len/2),如果出现字符str[i]不等于其对称位置str[len-1-i],就说明这个字符串不是“回文串”;如果前一半的所有字符str[i]都等于对称位置 str[len-1-i],则说明这个字符串是回文串。
1 |
|
例题
百练 2017大数据研究中心夏令营上机考试 B:单词倒排
& PAT B1009 说反话
比较简单的一道题,输入输出格式大概如下:
样例输入
1 | I am a student |
样例输出
1 | student a am I |
总之要求是倒序输出。
主要思路,get到一串字符串(包括换行符)
我开始的思路:用string getline(cin,str); 然后根据空格截取字符串,然后倒序输出字符串。
这里最后多输出空格可能会导致格式错误
在网上看到另一个代码感觉也很机智了,直接输入字符存储。(https://blog.csdn.net/vivaespana51/article/details/79742003):
1 |
|