下面我来公布一下我的答案 想看看有没有高人用别的方法做出来:
第一种方法:
#include <stdio.h>
main()
{
int i=0,j=0,count=0,m;
int position[31];
for(m=0;m<=30;m++)
position[m]=m;
while(count!=15)
{
while(j!=9)
{
i++;
if(i>30)
i=1;
if(i<=30)
{
if(position[i]!=0)
j++;
}
}
printf("%d\n",i);
j=0;
position[i]=0;
count++;
}
}
第二种方法:
#include<iostream>
using namespace std;
main()
{
int i=0,n=0,x=0,l=0;
int m;
int a[30];
int b[15];
for(m=0;m<30;m++)
a[m]=m;
for(i=0;;i++)
{
n++;
if(i<30)
{
for(x=0;x<15;x++)
for(m=0;m<l;m++)
{
if(a[i]==b[m])
i++;
if(i==30)
i=i-30;
}
if(n==9)
{
/*cout<<a[i];
cout<<endl;*/
b[l]=a[i];
l++;
n=0;
if(l==15)
break;
}
}
if(i>=30)
{
i=i-30;
for(x=0;x<15;x++)
for(m=0;m<l;m++)
{
if(a[i]==b[m])
i++;
if(i==30)
i=i-30;
}
if(n==9)
{
b[l]=a[i];
l++;
/*cout<<a[i];
cout<<endl;*/
n=0;
if(l==15)
break;
}
}
}
for(n=0;n<l;n++)
{
cout<<b[n]+1;
cout<<endl;
}
}
[此贴子已经被作者于2006-11-12 15:19:47编辑过]