主观

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

 [说明]

 这是一个求解Josephus问题的函数。用整数序列1,2,3…,n表示顺序围坐在圆桌周围的人,并采用数组表示作为求解过程中使用的数据结构。Josephus问题描述,设n个人围坐在一个圆桌周围,现在从第s个人开始报数,数到第m个人,让他出局;然后从出局的下一个人重新开始报数,数到第m个人,再让他出局,…如此反复直到所有的人全部出局为止。

 [C函数]

 void Josephus(int A[],int n,s,m)

 (int i,j,k,temp;

 if(m==O){

 printf("m=0是无效的参数!\n");

 return;

 }

 for(i=0;i<n;i++)  A[i]=i+1; /*初始化,执行n次*/

 i= (1)  /*报名起始位置*/

 for(k=n;k>1;k-){

 if((2)) i=0;

 i=(3) /*寻找出局位置*/

 if(i!=k-1){

 tmp=A[i];

 for(j=i;J<k-1;j++) (4);

 (5);

 }

 }

 for(k=0;k<n/2;k++){

 tmp=A[k];A[k]=A[n-k+1];A[n-k+1]=tmp;

 }

 }

参考答案
您可能感兴趣的试题

阅读以下说明和Java程序,将应填入(n)处的字句写在对应栏内。

 [说明]

 下面程序输出一个矩形面积,以及矩形区域上的假想的作物产量。

 [Java程序]

 public class MainJava {

  public static void main(String[] args){

    Lot_size small=new Lot_size();

    Lot_size medium=new Lot_size();

    small.set(5,5,5,25);

    medium.set(10,10,10,50);

    System.out.println("For a small lot of area"

        +small.get_area()+"\n");

    System.out.println("the actual crops are $"

        +small.get_data2()+"\n");

    System.out.println("and ideal crops are $"

        +small.get data()+"\n");

    System.out.println("For a medium lot of area"

        +medium.get_area()+“\n”);

    System.out.println("the actual crops are $"

        +medium.get_data2()+"\n");

    System.out.println ("and ideal crops are $"

        +medium.get_data()+"\n");

 }

}

class Crop_assessment{

 private int actual_crop;

 private int ideal_crop;

 public void set(int in_actual,int in ideal){

 actual_crop=in_actual;

 ideal_crop=in_ideal;

 }

 public int get_actual_crop(){return (1) ;}

 public int get_ideal_crop()(return (2) ;}

}

class Lot_size{

 private int length;

 private int width;

 private Crop_assessment crop= (3) ;

 public void set(int 1,int W,int a,int i){

   length=1;

   width=W;

   crop.set(a,i);

 }

 public int get_area(){return length*width;}

 public int get_data()freturn (4) ;}

 public int get_data2()(return (5) ;}

}

¥

订单号:

遇到问题请联系在线客服

订单号:

遇到问题请联系在线客服