数论中的程序设计New.pptVIP

  • 7
  • 0
  • 约1.5万字
  • 约 94页
  • 2018-08-20 发布于江苏
  • 举报
数论中的程序设计New

输入与输出样例 输入样例: 10 8 10 2 输出样例: 1 5 分析 方法一:模拟法 实际模拟数小孩出列的过程。用一个数组表示小孩围成圈。对每个小孩赋以一个序号值作为小孩的标志。 采用 “加1求模”,当数到数组尾的时候,下一个数组下标值可以算得为0,从而回到数组首以继续整个过程。 设:Max=10000;小孩最大个数 num为小孩个数,a[Max]; 小孩数组 每次数m个小孩,便让该小孩离开;下标加1求模,使下标到达尾部后能返回到数组头。 参考代码一:见下页 #includeiosteam using namespace std; int main(){ const int Max=10000; int num,m, a[Max]; while(cinnumm){ for(int i=0;inum;i++) a[i]=i+1; //小孩编号 int k=1; //标识处理第k个小孩的离开 int i=-1; //初值 while(1){//圈中数m个小孩 for(int j=0;jm;){ i=(i+1)%num; if(a[i]!=0) j++; } if(k==num) break; //该小孩是最后一个吗? //是,则为胜

文档评论(0)

1亿VIP精品文档

相关文档