生日放生精美句子:猫把N只老鼠站成一圈,第一只开始数,数到3就把这只吃掉
放生 2024-03-20121未知小轩
约瑟夫问题de题目是
n个人(编号0~(n-1)),从0开始报数,报到(m-天子山鸟放生1)的退出,剩下的人继续从0开始报数。求胜利者的编号。
题目不一样.所以其数学公式不能用..我编了个 能运行却求不出结果 没办法拉 我刚入门 也写了半天
自己改进下吧
#include "stdio.h"
void kl(int a[],int n);
main()
{
int a[102]={-1},i,k,n,x;
scanf("%d",&x);
for(i=1;i<x;i++)
a[i]=i;
for(i=1;i<x;i++)
if(i%3==0)
{
a[i]=-1;n++;
}
for(i=1,k=1;k<x;k++,i=k)
{
while(a[i]==-1)
{
i++;
}
a[k]=a[i];
a[i]=-1;
}
kl(a,(x-n));
}
void kl(int a[],int n)
{
int x=1,i,k=0,b=0;
for(i=1;i<=n;i++)
{
if(i%3==0)
{
a[i]=-1;
b++;
}
}
n=b;
for(i=1,k=1;k<x;k++,i=k)
{
while(a[i]==-1)
{
i++;
}
a[k]=a[i];
a[i]=-1;
if(n>2)
kl(a,(x-n));
else
{
for(i=1;i<x;i++)
if(a[i]!=-1)printf("\n%d\n",a[i]);
}
}
}
如何参加普贤放生法会 什么时候是放生日子的