1. 程式人生 > >藍橋杯:標題:猜字母

藍橋杯:標題:猜字母

標題:猜字母
    把abcd...s共19個字母組成的序列重複拼接106次,得到長度為2014的串。
    接下來刪除第1個字母(即開頭的字母a),以及第3個,第5個等所有奇數位置的字母。
    得到的新串再進行刪除奇數位置字母的動作。如此下去,最後只剩下一個字母,請寫出該字母。

答案是一個小寫字母,請通過瀏覽器提交答案。不要填寫任何多餘的內容。

#include<iostream>
#include<vector>
using namespace std;
int main()
{
	vector<char>vc1;
	int i;
	for(i=0;i<2014;i++)
		vc1.push_back('a'+(i%19));
	while(vc1.size()!=1)
	{
		vector<char>vc2;
		cout<<vc1.size()<<endl;
		for(i=1;i<vc1.size();i+=2)
			vc2.push_back(vc1[i]);
		vc1.assign(vc2.begin(),vc2.end());
		cout<<vc1.size()<<endl;
	}
	cout<<vc1[0]<<endl;
	return 0;
}