于是咱真没电脑天赋。。。折腾了半天小小的约瑟夫问题终于折腾出来了。。。发现算法从一开始就是对的,但那些括号的顺序总是阴差阳错orz。。。

#include "stdafx.h"

void main()
{int a[100],n,m;
int k; /*长度*/
int i; /*编号*/
int j; /*累计*/
printf("请输入不大于100的n和相应的m,逗号隔开\n");
scanf("%d,%d",&n,&m);
k=n;
for(i=0;i<n;i++)
{a[i]=1;}
for(i=n;i<100;i++)
{a[i]=0;}
j=0;
for (i=0;i<=100&&k>0;i++)
{if (i==100)
  {i=0;}
 j=j+a[i];
   if (j%m==0&&a[i]==1)
  {a[i]=0;
       k=k-1;}}
printf("%d\n",i);
}