报数退圈问题(C语言)
生活随笔
收集整理的這篇文章主要介紹了
报数退圈问题(C语言)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
方法一
#include <stdio.h> int c[13]; int main() {int i, j, n, pre, cur, m;printf("分別輸入總?cè)藬?shù)和報數(shù)退出的序號:\n");scanf("%d %d", &n,&m);if(n==1) printf("1\n");else{for(i=0; i<n-1; i++) c[i]=i+1;c[n-1]=0;cur=n-1;for(i=0; i<n-1; i++){for(j=0; j<m; j++){pre = cur;cur=c[cur];}c[pre]=c[cur];}printf("留下的是原來的%d號\n", pre+1);}return 0; }方法二
#include<stdio.h> int main() {int n,i,k,p,x,m;int a[100];printf("輸入游戲總?cè)藬?shù):");scanf("%d",&n);printf("輸入開始報數(shù)人的編號:");scanf("%d",&k);printf("退出圈外人的報數(shù)點:");scanf("%d",&m);for(i=1;i<=n;i++){a[i]=1;//初始狀態(tài)表示都在圈內(nèi)}p=0;//p表示退出圈外的人數(shù)k--;printf("出圈次序:");while(p<n-1){x=0;while(x<m){k=k+1;if(k>n)k=1;x=x+a[k];}printf("%d\n",k);a[k]=0;p=p+1;}printf("\n"); }總結(jié)
以上是生活随笔為你收集整理的报数退圈问题(C语言)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ROG 新款枪神 7/7 Plus 2
- 下一篇: 公积金可以贷款装修吗 装修可以用公积金贷