java语言实现:有15个红球和15个绿球排成一圈,从第1个球开始数,当数到13个球时就取出此球,然后再从下一个球开始数,当再数到13时又取出。如此循环进行直到仅剩15个球为止,怎样排法才能使每次取出的球都是红球?(java课后习题5.6)
源代码如下:
public class GetRedBalls5_6 {
public static void main(String[] args){
int[] ball=new int[30];
int i, j, t;
for(i=0; i<30; i++)
ball[i]=i+1;
System.out.println("取出红球的编号为: ");
for(i=0, j=0, t=30; t!=15; i++) {
if(i==30)
i=0;
if(ball[i]!=0)
j++;
if(j==13&&ball[i]!=0) {
ball[i]=0;
System.out.print(" "+(i+1)+" ");
j=0;
t--;
}
}
}
}
IDE中如下:
运行结果如下: