zoukankan      html  css  js  c++  java
  • H.数7(模拟)

    1212: H.数7

    时间限制: 1 Sec  内存限制: 64 MB 提交: 8  解决: 5

    题目描述

    数7是一个简单的饭桌游戏,有很多人围成一桌,先从任意一人开始数数,1、2、3……那样数下去,逢到7的倍数(7、14、21……)和含有7的数字(17、27……)必须以敲桌子代替。如果有谁逢7却数出来了,就要接受惩罚。小明觉得这个游戏太简单了,于是对它做出了改进,那就是每逢到素数的时候就以敲桌子代替,并且数数的方向发生改变,而且最开始的那个人可以从1到10000中选一个合数,开始数数。假设现在有10个人,第一个人的编号为1,他选择4开始数,由于4不是素数,那么就是1说:4,轮到下一个编号为2的人来数,由于5是素数,2敲桌子(duang),由于5是素数,顺序发生变化,现在又轮到1说:6,然后以此类推10敲桌子(duang),1说:8,2说:9…一直到某人出现错误为止。小明想知道轮到自己的时候应该干什么,你能够帮小明解决这个问题吗?

    输入

    首先是一个整数T,表示有T组测试数据,接下来每组数据的第一行会给出n和m(1<=n<=10, 1<=m<=n),分别表示饭桌上有n个人,小明的编号是m,第二行会给出a和b(1<=a<=n, 1<=b<=10000),分别表示从编号为a的人开始,并且选择合数b开始数数。

    输出

    输出轮到小明的时候他应该干什么,如果是说数字就把该数字输出,如果是敲桌子就输出“duang”,每个输出单独占一行

    样例输入

    3

    10 2

    3 4

    3 3

    2 6

    4 1

    3 8

    样例输出

    duang
    duang
    10

     1 # include <iostream>
     2 # include <cstdio>
     3 # include <cstring>
     4 # include <algorithm>
     5 # include <cmath>
     6 using namespace std;
     7 bool _isprime(int k)
     8 {
     9     int i;
    10     for(i=2;i<=sqrt(k);i++)
    11     {
    12         if(k%i==0)
    13             return false;
    14     }
    15     return true;
    16 }
    17 int main()
    18 {
    19     int i,j,k,T,n,m,a,b;
    20     //freopen("in.txt","r",stdin);
    21     cin>>T;
    22     while(T--)
    23     {
    24         int next,flag=0;
    25         k=0;
    26         cin>>n>>m>>a>>b;
    27         next=a%n+1;
    28         if(m==a)
    29         {
    30             cout<<b<<endl;
    31             continue;
    32         }
    33         while(next!=m)
    34         {
    35             if(!flag)
    36             {
    37                 if(_isprime(++b))
    38                 {
    39                     flag=1; 
    40                     if(next==1)
    41                         next=n;
    42                     else
    43                         next=next-1;    
    44                 }
    45                 else
    46                     next=next%n+1;
    47             }
    48             else
    49             {
    50                 if(_isprime(++b))
    51                 {
    52                     flag=0;
    53                     next=next%n+1;
    54                 }
    55                 else
    56                 {
    57                     if(next==1)
    58                         next=n;
    59                     else
    60                         next=next-1;
    61                 }
    62             }
    63         }
    64         if(_isprime(++b))
    65             cout<<"duang"<<endl;
    66         else
    67             cout<<b<<endl;
    68 
    69     }
    70 }
  • 相关阅读:
    RUNOOB.COM-python网络编程-(python3.5.0)
    windows查看服务
    计算机网络里的一些理解
    如果面试有傻逼问道oracle怎么启动的
    推荐一个学习数据库的地方
    电脑中的驱动程序是什么,是干什么的
    Raspberry Pi 4B 之 Python开发
    Ubuntu20.04+EdgexFoundry边缘计算微服务搭建-----遇到的问题-----make build 被墙问题
    Raspberry Pi 4B + Ubuntu 20.04 server for arm64 的wifi配置
    关于PicoNeo开发环境的Unity3D+AndroidSDK配置
  • 原文地址:https://www.cnblogs.com/a1225234/p/4857378.html
Copyright © 2011-2022 走看看