第十四章,一個簡約加密的demo(C++)

1.輸入n個數字。

2.去掉第1個數,把第2個放到這些數字的末尾,

   然後是去掉第3個數,把第4個放到這些數字的末尾,

   以此類推,直到所有的數字都去掉。 

3.去掉的數字按去掉的先後排序,就是加密後的數字 。


注:demo中初始化的數據是我小時候常玩的一個撲克牌小遊戲,

就是同一花色的13張撲克牌按demo中的排序方法,

最後就可以按順序排出來。


#include <iostream>
#include <vector>

using namespace std;
int main(int argc, char** argv) {
	
	//初始化數據 
	vector<int> ves;
	ves.push_back(1);
	ves.push_back(12);
	ves.push_back(2);
	ves.push_back(8);
	ves.push_back(3);
	ves.push_back(11);
	ves.push_back(4);
	ves.push_back(9);
	ves.push_back(5);
	ves.push_back(13);
	ves.push_back(6);
	ves.push_back(10);
	ves.push_back(7);
	
 
	//通過初始數據獲取集合長度和初始化數組 
	int num01=ves.size(),num02[num01];
	
	//開始加密 
	for(int i=0,num=0;true;i++){
		if((i+1)%2==1){
			num02[num]=ves[i];
			++num;
			if(num==num01)
			break;
		}else{
			ves.push_back(ves[i]);
		}
	}
	
	//遍歷加密數組 
	for(int i=0;i<num01;i++){
		cout<<num02[i]<<" ";
	}
		
	return 0;
}
調試截圖



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章