zoukankan      html  css  js  c++  java
  • POJ 2244

    /*
    大致题意:n个城市,先把1号断电,继而每隔m断电使标号为2的最后被限电;
    转化为(n-1)个城市,最后断电的为标号为1的城市,求最小的m
    */ 
    #include<stdio.h>
    bool is_joseph(int m,int n)
    {
        int i,j;
        int s=0;
        for(i=2;i<=n;i++)
            s=(s+m)%i;
        if((s+1)==1)
            return 1;
        return 0;
    }
    int main()
    {
        int i,j,k;
        int m,n,s;
        while(scanf("%d",&n),n)
        {
            /*
            加 不加else, 
            因为执行m++后,m又变成了2
            都成死循环啦 
            while(1)
            {
                m=2;
                if(is_joseph(m,n-1))
                    break;
                else
                  m++;
                
            }
            printf("%d\n",m);   
            */  
            m=2;  
            while(1)
            {
                if(is_joseph(m,n-1))
                {
                    printf("%d\n",m); 
                    break;
                }
                else
                  m++;
                
            }                                    
        }
        return 0;
    }
            
    
  • 相关阅读:
    h5-7
    h5-6
    h5-5
    h5-4
    h5-3
    h5-2
    return
    字符串的常用操作
    字符串中的转义字符
    字典的统计,合并,清空操作
  • 原文地址:https://www.cnblogs.com/hxsyl/p/2617858.html
Copyright © 2011-2022 走看看