诚求计算11选5彩票中奖号码更强的方法
借宝地一用,谢谢~~ 不知道啥原因发不了帖子, csdn老是"无法响应你的请求"
在网上找到一个, 黄金分割法根据上期出号计算11选5彩票中奖号码, 不过这个方法只是简单利用几个黄金分割数计算,
不够强, 小弟诚求计算11选5彩票中奖号码更强的方法, 并与各位Csdner一同分享...
#include <iostream>using namespace std;void saveIt(int *save_Arr, int s){ int i = 0; while(s >= 1) { if (s%10 == 1) { save_Arr[0] = 1; save_Arr[10] = 11; s=s/10; i++; continue; } if (s%10 == 0) { save_Arr[9] = 10; s=s/10; i++; continue; } save_Arr[s%10-1] = s%10; s=s/10; ++i; }}void cp(int *arr, int gold_num){ int save_Arr[11]; int nArr[5]; int i; for(i=0; i<5; i++) { nArr[i] = arr[i]; } for(i=0; i<11; i++) { save_Arr[i] = -1; } int sum = 0; for(i=0; i<5; i++) { sum+=nArr[i]; } int s1 = sum * gold_num; int s2 = arr[2] * gold_num; saveIt(save_Arr, s1); saveIt(save_Arr, s2); int nCount = 0; for(i=0; i<11; i++) { if(save_Arr[i] != -1) { ++nCount; } } if (nCount != 5) { return; } for(i=0; i<11; i++) { if(save_Arr[i] != -1) { cout << save_Arr[i] << " "; } } cout << " ";}void output(int *arr){ int sArr[5]; for(int i=0; i<5; i++) { sArr[i] = arr[i]; } for(int j=0; j<5; j++) { for(int k=0; k<5-j-1; k++) { if(sArr[k] > sArr[k+1]) { int tmp = sArr[k]; sArr[k] = sArr[k+1]; sArr[k+1] = tmp; } } } for(i=0; i<5; i++) { cout << sArr[i] << " "; } cout << " ";}int main(void){ int arr[78][5] = { {9,11,1,6,2} }; int cnt = 0; for(int i=0; i<sizeof(arr)/sizeof(arr[0]); i++) { if (arr[i][0] != 0) { output(arr[i]); cp(arr[i], 191); cp(arr[i], 809); cp(arr[i], 500); cp(arr[i], 382); cp(arr[i], 618); cout << endl; if (0 == cnt%8) { cout << endl; } ++cnt; } } return 0;}