解题思路:一次一次看,(n-1)次之后完成,去掉的置0,遇见0跳过
注意事项:记得取余达到循环效果
参考代码:
#include<iostream>
using namespace std;
int main(){
int n=0,m=0;
while(scanf("%d%d",&n,&m)!=EOF){
int a[1000]={0};
int i,j,cnt;
for(i=0;i<n;i++){
a[i]=i+1;
}
i=0;
for(j=1;j<=n-1;j++){
cnt=0;
while(cnt<m){
if(a[i]==0){
i++;
i%=n;
}
else{
i++;
i%=n;
cnt++;
}
}
if(i==0)
a[n-1]=0;
else
a[i-1]=0;
}
for(i=0;i<n;i++){
if(a[i]!=0){
printf("%d\n",a[i]);
}
}
}
}
0.0分
2 人评分
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)浏览:2468 |
数组输出 (C语言代码)浏览:767 |
Hello, world! (C语言代码)浏览:1201 |
C语言训练-数字母 (C语言代码)浏览:585 |
WU-格式化数据输出 (C++代码)浏览:1212 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:531 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:489 |
妹子杀手的故事 (C语言代码)浏览:1054 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:360 |
判定字符位置 (C++代码)浏览:676 |