题目大意:题目中给了一种数的定义,根据定义,让判断一个给定的数是不是这种数。题中叫这种数为吉米数,定义如下:对序列1,2,3,,,,n,做n-1次SF变换(对该变换的解释在下文),如果能得到原序列,则n为吉米数。

SF变换:若n为偶数,以n=10为例,一次SF变换是这样的

    1,2,3,4,5,6,7,8,9,10—>1,2,3,4,5  6,7,8,9,10—>6,1,7,2,8,3,9,4,10,5  此为偶数的一次SF变换,第二次变换是基于新序列的,以此类推。

    若n为奇数,以n=9为例,一次SF变换是这样的

    1,2,3,4,5,6,7,8,9—>1,2,3,4  5,6,7,8,9—>5,1,6,2,7,3,8,4,9   此为奇数的一次SF变换,第二次变换也是基于新序列的,以此类推。

题目分析:根据题中的提示,偶数不是吉米数。如果是吉米数,则相应的序列中的任一元素的位置周期都是一样的,所以只需考虑1。最终找到1的位置有如下规律:pos=(2^t)%n,其中t为变换的次数。所以只需判断(2^(n-1))%n=1是否成立即可。

实际上还是幂取模!!!

代码如下:

 # include<iostream>
# include<cstdio>
# include<cstring>
# include<algorithm>
using namespace std;
# define ll long long
ll mypow(ll a,ll b,ll m)
{
if(b==)
return ;
if(b==)
return a%m;
ll u=mypow(a,b/,m);
u*=u;
u%=m;
if(b&)
u*=a;
return u%m;
}
bool is(ll x)
{
ll pos=mypow(,x-,x);
return pos==;
}
int main()
{
ll n;
while(scanf("%lld",&n)&&n!=-){
if(is(n))
printf("%lld is a Jimmy-number\n",n);
else
printf("%lld is not a Jimmy-number\n",n);
}
return ;
}

最新文章

  1. 软件开发常用快捷键 &amp; 命令总结
  2. css整理-02 颜色和字体
  3. Exif的Orientation信息说明
  4. POJ3320 Jessica&#39;s Reading Problem(尺取+map+set)
  5. Processing_百度百科
  6. 设计模式 - Abstract Factory模式(abstract factory pattern) 详细说明
  7. 如果不能显示真正的考验个别车型toast问题解决
  8. java实现截屏
  9. [mysql]ERROR 1364 (HY000): Field &#39;ssl_cipher&#39; doesn&#39;t have a default value 解决方法
  10. WmS详解(二)之如何理解Window和窗口的关系?基于Android7.0源码
  11. js常会问的问题:找出字符串中出现次数最多的字符。
  12. Redis数据结构之sds基本操作函数
  13. VUE 图片验证码
  14. java Illegal unquoted character ((CTRL-CHAR, code X)): has to be escaped using backslash to be included in string value
  15. Oracle同义词(synonym)
  16. Android privilege escalation to mediaserver from zero permissions (CVE-2014-7920 + CVE-2014-7921)
  17. [No0000159]C# 7 中的模范和实践
  18. 13: vue项目结构搭建与开发
  19. Java依赖注入方式
  20. ABAP-1-会计凭证批量数据导入本地ACCESS

热门文章

  1. HttpClient配置SSL绕过https证书
  2. hibernate的实现原理以及延迟加载
  3. Python3 打开 https 链接,异常:“SSL: CERTIFICATE_VERIFY_FAILED”
  4. xargs 原理&amp;使用
  5. 微信小程序开发环境
  6. kafka调试遇到的问题
  7. &quot;1130-host ... is not allowed to connect to this MySql server&quot;登录失败
  8. P3939 数颜色
  9. hdu4719 Oh My Holy FFF 线段树优化dp
  10. Java初始化块的作用