福利彩票的算法

来源:互联网 发布:一步之遥 知乎 编辑:程序博客网 时间:2024/05/02 01:14
#include<iostream>
#include
<stdlib.h>
#include
<time.h>

using namespace std;

void main()
{
    
int array[7];
    
int temp;
    
char ch;
    
do
    {
    srand(time(
0));
    
for(int i=0;i<7;i++)
    {
        temp
=rand()%35+1;
        
for(int j=0;j<i;j++)
        {
            
if(temp==array[j])
            {
                j
=i+13;
            }
        }
        
if(j>i+6)
        {
            i
--;
            
continue;
        }
        
else
        {
            array[i]
=temp;
        }
    }
    
for(int i=0;i<7;i++)
    {
        cout
<<array[i]<<" ";
    }
    cout
<<endl;
    cout
<<"是否再次生成(y/n)";
    cin
>>ch;
    }
while(ch=='y');
    cout
<<endl;
}

 

下面这种在控制太可以不停的变换,模拟了抽奖的效果

 

#include<iostream>
#include
<time.h>
#include
<stdlib.h>

using namespace std;

void main()
{
    
int r1,r2,r3,r4,r5,r6,r7;
    srand(time(
0));
    printf(
"c产生的随即数为: ");
    
while(1)
    {
        r1
=rand()%35+1;
        
do
        {
            r2
=rand()%35+1;
        }
while(r2==r1);
        
do
        {
            r3
=rand()%35+1;
        }
while(r3==r1 && r3==r2);
        
do
        {
            r4
=rand()%35+1;
        }
while(r4==r1 && r4==r2 && r4==r3);
        
do
        {
            r5
=rand()%35+1;
        }
while(r5==r1 && r5==r2 && r5==r3 && r5==r4);
        
do
        {
            r6
=rand()%35+1;
        }
while(r6==r1 && r6==r2 && r6==r3 && r6==r4 && r6==r5);
        
do
        {
            r7
=rand()%35+1;
        }
while(r7==r1 && r7==r2 && r7==r3 && r7==r4 && r7==r5 && r7==r6);
        
        printf(
"%2d-%2d-%2d-%2d-%2d-%2d-%2d ",r1,r2,r3,r4,r5,r6,r7);
        
//降低文字改变速度
        for(int i=0;i<99999999;i++)
        {}
    }
}