zoukankan      html  css  js  c++  java
  • 约瑟夫

    #include<stdio.h>
    static int arr[100];
    void main()
    {
    void solve(int people,int spacing);
    int people,spacing,i,j=0;
    printf("请输入总人数(2-99):");
    scanf("%d",&people);
    printf("请输入报数(1-10):");
    scanf("%d",&spacing);
    solve(people,spacing);
    printf(" 离开顺序为: ");
    for(i=people-1;i>=0;i--)
    {
    if(arr[i]==0)
    printf("%4d",arr[i]+people);
    else
    printf("%4d",arr[i]);
    j++;
    if(j%15==0) printf(" ");
    }
    if(j%15!=0) printf(" ");
    }

    int change(int number,int spacing,int mancount)
    {
    if (number==0) number=mancount-1;
    return((number+spacing)%mancount);
    }

    void solve(int people,int spacing)
    {
    int i,j,temp,sum=0;
    for(i=2;i<=people;i++)
    {
    sum+=i-1;
    temp=sum;
    for(j=0;j<i-1;j++)
    {
    arr[j]=change(arr[j],spacing,i);
    temp-=arr[j];
    }
    arr[i-1]=temp;
    }
    }

    或:

    #include<stdio.h>
    int f(int *p,int a,int b)
    {
    int i=0,j=0,k=0;
    while(i<a)//i代表退出人数,j代表当前的人
    {
    if(*(p+j)!=0)
    k++;
    if(k==b)
    {
    printf("%5d",*(p+j));

    *(p+j)=0;
    k=0;
    i++;
    if(i%10==0)
    printf(" ");
    }
    j++;
    if(j==a)
    j=0;
    }
    return 0;
    }
    int main()
    {
    int num[50];
    int a,b;
    printf("请输入人数 报数");
    scanf("%d%d",&a,&b);
    int i;for(i=0;i<a;i++)
    num[i]=i+1;
    f(num,a,b);
    return 0;

    }

  • 相关阅读:
    Struts2_模块包含
    Struts2_访问Web元素
    Struts2_简单数据验证
    获取当前日期
    iOS NSMutableArray添加NSInteger元素
    iOS label换行 自适应
    iOS高德地图自定义annotation添加不同图片
    @property(nonatomic) UIViewAutoresizing autoresizingMask;
    HTML
    图片压缩
  • 原文地址:https://www.cnblogs.com/SSYYGAM/p/4214034.html
Copyright © 2011-2022 走看看