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 }
  • 相关阅读:
    内存泄漏 Memory Leaks 内存优化 MD
    Handler Thread 内部类引起内存泄露分析
    为什么不取消注册BroadcastReceiver会导致内存泄漏
    WebChromeClient 简介 API 案例
    WebViewClient 简介 API 案例
    java.net.URI 简介 文档 API
    android.net.Uri 简介 API
    RV 多样式 MultiType 聊天界面 消息类型 MD
    JS函数声明与定义,作用域,函数声明与表达式的区别
    CSS中table tr:nth-child(even)改变tr背景颜色: IE7,8无效
  • 原文地址:https://www.cnblogs.com/a1225234/p/4857378.html
Copyright © 2011-2022 走看看