zoukankan      html  css  js  c++  java
  • 南邮NOJ生日聚会

    题目描述

           今天是JacmY生日,他请大家吃饭,就这样,一行N个人来到了餐馆,大家吃吃喝喝,有说有笑,气氛甚欢,这时突然有人提议大家玩一个游戏,听罢规则后,就开始了游戏。

        游戏规则是这样的,吃饭的N个人围坐在桌子旁,JacmY是1号,沿着顺时针方向开始编号,2、3……N,然后由JacmY随机说一个数K(1 <= K <= N),从JacmY开始顺时针报数,“1,2……”,当有人报到K时,这个人从他的位置起来,先坐到了其他桌子,然后由下一个人重新从1开始报……就这样循环下去,每当有人报到K,这个人就离开了桌子,直到剩下这最后一个人,他非常倒霉的要接受大家的惩罚,就是罚酒一杯。JacmY有些郁闷了,K是由自己说的,万一说不好让自己受惩罚了,这个就有点不爽了,所以JacmY想请你帮忙找出哪些K会让他受罚,这样以来,JacmY就不用担心会喝太多酒了!



    输入

     第一行一个整数T代表样例的组数

    下面T行,每行一个整数N, 1 <= N<= 100;N如题目所述。

    输出

           对于每组数据,第一行输出一个整数M,表示有M个这样的K会让JacmY受罚,接下来一行是M个整数,代表K分别取的哪些值,这些数字间用空格隔开。

    样例输入

    3
    5
    8
    10

    样例输出

    1
    4
    2
    2 6
    1
    8


    #include<iostream>
    using namespace std;
    #include<stdlib.h>
    #include<stdio.h>
    int main()
    {
        int N;
        cin>>N;
        while(N--)
        {
            int n,sum,a[100];
            cin>>n;
            int p,count=0;
            for(int i=1;i<=n;i++)
            {
                for(int j=1;j<=n;j++)
                {
                    sum=(i+sum)%j;
                    p=i;
                }
                if(sum+1==1)
                {
                    a[count++]=p;
                }
            }
            cout<<count<<endl;
            for(int i=0;i<count;i++)
            {
               if(i==0)
                cout<<a[0];
               if(i!=0)
                cout<<" "<<a[i];
               if(i==count-1)
                cout<<endl;
            }
        }
        return EXIT_SUCCESS;
    }
    


    这个提交还算顺利,只是不停地PE,后来才发现当count=0的时候,会多输出一行空格,导致PE。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    bash shell if 命令参数说明
    Linux test命令
    javascript获取事件触发源
    PHP Manual 学习
    js 控制iframe 刷新
    WP7交互特性浅析及APP设计探究
    FirstDayStart点点
    关于Safari的思考(转载)
    如何使控件背景色支持TransparentKey(at Win2k/WinXP 32bit Color Desktop)
    [Bug] VisualStyleRenderer may cause GDI leak!
  • 原文地址:https://www.cnblogs.com/Tobyuyu/p/4965744.html
Copyright © 2011-2022 走看看