amydog 发表于 2014-2-16 16:42:27

现实中的一道题



有一位现实中的彩友,昨天找我帮忙计算一个公式 ,小弟不才,还是没想出来怎么写出来,论坛找师傅帮写个代码:

如下:

福彩3D应该大家都知道吧每期开奖号码为 3位0~9组成的数据 (000 001 002~998 999)共计1000个号码

要求一:任意500个号码组合成1个底源,总共可以组合成多少个这样的底源,

要求二: 任意2个500注底源 差异性在 30~50%左右(所谓的差异性就是比如有一个500注的底源是000 001 002~498 499共计500注,而其中在有一个500注的底源是 001 002~499 500也是共计500注这2个底源有共同的相同号码是001~499也就是498注差异性是2注也就是2/500 )   并打印出符合条件的500注底源


小弟只想到定义一个数组,用指针读取   第二个差异性不知道怎么写


感谢提供思路或者写出代码的大侠们

水城 发表于 2014-2-16 16:42:28

首先应该是多少个,高中的数学问题C500/1000还是A500/1000,我给忘了。再其次第二个问题的话,首先列出那20%相同的假设有N种,然后每种相同的数字就有M种。共有符合想法的数组M*N个。然后就是列举的事了。
                        口才不好:sweat:

C域 发表于 2014-2-16 23:41:04

#include<stdio.h>
#include<windows.h>
#include<time.h>
int u, po[]={0,1,2,3,4,5,6,7,8,9};

void main()
{
        for(int x=0;x<500;x++)
        {

                                for(int w=0;w<3;w++)
                                {
                                        srand((unsigned) time(NULL));
                                        u= rand()%9;
                                        Sleep(1000);
                                        printf("%d \t",po);

                                }
                                printf("\n");
        }
}
给个源码给你参考IF条件 你可以根据需要而变

未闻丶花名 发表于 2014-2-18 10:43:59

路过看看= =!

未闻丶花名 发表于 2014-2-20 18:54:04

路过看看= =!

SunlightPC 发表于 2014-2-26 21:02:10

支持二楼给的回答

SunlightPC 发表于 2014-2-27 17:07:30

禁止路过只看看

牡丹花下死做鬼 发表于 2014-3-1 01:03:12

这个纯属就是一个数学问题撒~~

tsp150600 发表于 2014-3-6 16:22:39

本帖最后由 tsp150600 于 2014-3-6 16:27 编辑

我觉得这是要死人的节奏!0-9的3位数组合有1000种,一个500注底源就是从1000个数中选500个出来,先选250个相同的,有C1000/250个。而差异性是30%-50%,也就是要有150-250个数不同。先从1000中选250作为相同的,然后要保证150个数不同,从750个选,所以最多保证有5个,即一组5个数。但那150个数有C750/150*C600/150*C450/150*C300/150*C150/150种选法   剩下每组各有600个数选择,有C600/100种。所以有C1000/250*(C750/150*C600/150*C450/150*C300/150*C150/150)*C600/100种。
页: [1]
查看完整版本: 现实中的一道题