首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

诚求计算11选5彩票中奖号码更强的方法解决方法

2012-03-20 
诚求计算11选5彩票中奖号码更强的方法借宝地一用,谢谢~~ 不知道啥原因发不了帖子, csdn老是无法响应你的

诚求计算11选5彩票中奖号码更强的方法
借宝地一用,谢谢~~ 不知道啥原因发不了帖子, csdn老是"无法响应你的请求"

在网上找到一个, 黄金分割法根据上期出号计算11选5彩票中奖号码, 不过这个方法只是简单利用几个黄金分割数计算,
不够强, 小弟诚求计算11选5彩票中奖号码更强的方法, 并与各位Csdner一同分享...

C/C++ code
#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;}


[解决办法]
这种算法好点的用人工智能的一些算法,如神经网络,遗传算法等
[解决办法]
仅供参考
C/C++ code
//要求1:从给出来的不同的六组数字中,从每组任意挑选一个数字,最后组成一个六个数字的数组。//将所有的数组全部列出来。//同时,排除全部为偶数、全部为奇数的数组。//排除四个数字递增连续(比如8、9、10、11)的数组。//如下://第一个数字从这12个数字中挑选:,1,3,2,4,5,6,7,8,9,10,11,12//第二个数字从这17个数字中挑选:,8,7,5,9,6,4,11,10,12,13,3,14,17,2,16,15,18//第三个数字从这21个数字中挑选:,13,10,15,16,18,11,14,12,7,19,21,17,8,22,9,20,6,23,5,24,25//第四个数字从这20个数字中挑选:,22,23,18,20,16,17,15,21,14,26,19,24,27,25,12,13,11,10,28,29//第五个数字从这19个数字中挑选:,26,25,27,29,30,28,23,24,20,22,19,31,21,17,18,32,13,15,16//第六个数字从这14个数字中挑选:,32,33,30,31,29,28,27,26,25,24,23,22,18,21//要求2://请输入第1个数字的选择范围:(可以手动输入任意几个空格间隔的数字,最多30个)//请输入第2个数字的选择范围:(可以手动输入任意几个空格间隔的数字,最多30个)//请输入第3个数字的选择范围:(可以手动输入任意几个空格间隔的数字,最多30个)//请输入第4个数字的选择范围:(可以手动输入任意几个空格间隔的数字,最多30个)//请输入第5个数字的选择范围:(可以手动输入任意几个空格间隔的数字,最多30个)//请输入第6个数字的选择范围:(可以手动输入任意几个空格间隔的数字,最多30个)//然后回车,输出结果到cp.txt//要求3://保证同一组数据的数都不相同。//比如,第一个数为6时,第二个数或其他的数都不能再为6;第二个数为10时,第三个数或其他的数都不能再为10,以此类推……//要求4://增加一个条件:在产生的每个数组A1A2A3A4A5A6中,要求A1<A2<A3<A4<A5<A6#include <stdio.h>#include <stdlib.h>#include <string.h>int v[6];int n[6]={12,17,21,20,19,14};int d[6][30]={      {1,3,2,4,5,6,7,8,9,10,11,12},      {8,7,5,9,6,4,11,10,12,13,3,14,17,2,16,15,18},      {13,10,15,16,18,11,14,12,7,19,21,17,8,22,9,20,6,23,5,24,25},      {22,23,18,20,16,17,15,21,14,26,19,24,27,25,12,13,11,10,28,29},      {26,25,27,29,30,28,23,24,20,22,19,31,21,17,18,32,13,15,16},      {32,33,30,31,29,28,27,26,25,24,23,22,18,21},};int i,j,i0,i1,i2,i3,i4,i5,s;char ln[100],*t;FILE *f;int main() {    for (i=0;i<6;i++) {        printf("请输入第%d个数字的选择范围:",i+1);        fgets(ln,100,stdin);        j=0;        t=strtok(ln," ");        while (1) {            if (NULL==t) break;            if (0==t[0]) continue;//跳过多个空格间隔时取出的空串            d[i][j]=atoi(t);            j++;            if (j>=30) break;            t=strtok(NULL," ");        }        n[i]=j;    }    f=fopen("cp.txt","w");    if (NULL==f) {        printf("无法生成cp.txt!\n");        return 1;    }    printf("正在生成cp.txt...");    for (i0=0;i0<n[0];i0++) {    for (i1=0;i1<n[1];i1++) {    for (i2=0;i2<n[2];i2++) {    for (i3=0;i3<n[3];i3++) {    for (i4=0;i4<n[4];i4++) {    for (i5=0;i5<n[5];i5++) {        v[0]=d[0][i0];        v[1]=d[1][i1];        v[2]=d[2][i2];        v[3]=d[3][i3];        v[4]=d[4][i4];        v[5]=d[5][i5];        if (0==(v[0]%2)         && 0==(v[1]%2)         && 0==(v[2]%2)         && 0==(v[3]%2)         && 0==(v[4]%2)         && 0==(v[5]%2)) continue;//排除全部为偶数        if (1==(v[0]%2)         && 1==(v[1]%2)         && 1==(v[2]%2)         && 1==(v[3]%2)         && 1==(v[4]%2)         && 1==(v[5]%2)) continue;//排除全部为奇数        for (i=0;i<5;i++) {            for (j=i+1;j<6;j++) {                if (v[i]==v[j]) goto NEXT;//保证同一组数据的数都不相同            }        }    NEXT:        if (i>=5) {            for (i=0;i<5;i++) for (j=i+1;j<6;j++) if (v[i]>v[j]) {s=v[i];v[i]=v[j];v[j]=s;}//从小到大排序            if ((v[0]+1==v[1]              && v[1]+1==v[2]              && v[2]+1==v[3])             || (v[1]+1==v[2]              && v[2]+1==v[3]              && v[3]+1==v[4])             || (v[2]+1==v[3]              && v[3]+1==v[4]              && v[4]+1==v[5])) continue;//排除四个数字递增连续            fprintf(f,"%2d,%2d,%2d,%2d,%2d,%2d\n",v[0],v[1],v[2],v[3],v[4],v[5]);        }    }}}}}}    fclose(f);    printf("\n生成cp.txt完毕\n");    return 0;}//如果文件in.txt的内容为//1 3 2 4 5 6 7 8 9 10 11 12//8 7 5 9 6 4 11 10 12 13 3 14 17 2 16 15 18//13 10 15 16 18 11 14 12 7 19 21 17 8 22 9 20 6 23 5 24 25//22 23 18 20 16 17 15 21 14 26 19 24 27 25 12 13 11 10 28 29//26 25 27 29 30 28 23 24 20 22 19 31 21 17 18 32 13 15 16//32 33 30 31 29 28 27 26 25 24 23 22 18 21//可以在cmd窗口里面输入命令//cp <in.txt//得到要求1对应的结果//BTW:中了一定要分我六成啊!嘿嘿!(^=^) 


[解决办法]
这个东西做好了都自己用,谁会拿出来分享呢
[解决办法]
http://news.50018.com/news/13/26383.html
http://www.caimincun.com/caimin/wzhyy-tzjq/22x5/726587.shtml
[解决办法]
牛啊 这都可以........
[解决办法]
黄金定律中除了黄金周期循环外,还有另外一个组成部分,即黄金分割优选法。这两者构成了黄金定律。无数数学大师们经过精确运算,将0.191、0.382、0.5、0.618、0.809这些特定的比例划定为常用的黄金数字比例,黄金分割法就在某个固定单位中运用上述比例划分数字的方法。  如果我们将广东的36选7、26选5看成2个不同的单位,则它们的黄金点号码各有不同。  以36选7为例,位于0.191、0.382、0.5、0.618、0.809这5个黄金分割点的相关号码为:  0.191=6、7;0.382=13;0.5=18;0.618=22;0.809=29,即得到6、7、13、18、22、29这6个数字。  26选5则为:0.191=5;0.382=9、10;0.5=13;0.618=16;0.809=23,即得到5、9、10、11、23这6个数字。  理论上来说,这2组数字是36选7、26选5玩法中最均衡的号码。然而实践中,由于号码始终处于运动状态,因而这种静态计算出来的号码的实践意义有待商榷。但我们可以将36选7中的6、7、13、18、22、29,26选5中的5、09、10、13、16、23视为该种玩法的胆码,根据最近5期号码的走势确定胆码的变化,运用加减乘除等方法进行微调,就有可能契合开奖号码。大家不妨一试。 

[解决办法]
概率又不变,计算有什么用
[解决办法]

[解决办法]

热点排行