刚开始想打个表...

结果我发现我理解错了题目意思,以为a,b必须是两个不同的数字,然后完全无法理解样例的3为什么是friend number...很尴尬就只能去网上找题解,才发现a,b可以相等(太菜了

其实打表也能做,但是实在是懒,这道题由于n = a * b + a + b -> n + 1 = (a + 1)(b + 1),我们假设这个数列是{n + 1},那里面任意一个元素都等于这个数列中原来两个数的乘积,又因为它们开始都是2, 3,所以质因数只有2, 3就是Friend number,然后就很好判断了,我这里偷懒用了a & (-a)是否等于a来判断是不是2的倍数

#include <cstdio>
using namespace std;
int main() {
int a;
while (~scanf("%d", &a)) {
if (a == ) {
puts("NO!");
continue;
}
a = a + ;
while (a % == ) {
a = a / ;
}
if ((a & (-a)) == a)
puts("YES!");
else
puts("NO!");
}
return ;
}

最新文章

  1. Nancy 自定义JsonSerializer
  2. SGU 174 Walls
  3. Oracle VM VirtualBox 5.0 CentOS 6.4 共享文件夹
  4. [Java] 两种发起POST请求方法,并接收返回的响应内容的处理方式
  5. Go语言的优点(oschina讨论)
  6. wuzhicms 模块开发
  7. Angular2经典文章集锦
  8. JVM 字节码执行实例分析
  9. uva1368 DNA Consensus String
  10. Mayor&#39;s posters(离散化线段树)
  11. 【2014 Multi-University Training Contest 2 1002】/【HDU 4873】 ZCC Loves Intersection
  12. EALayout 实践
  13. 老李推荐:第2章2节《MonkeyRunner源码剖析》了解你的测试对象: NotePad窗口Activity之NotesList简介
  14. js数组遍历some,foreach,map,filter,every对比
  15. WebService学习--(三)使用JDK开发WebService
  16. c#调用野狗云 rest api
  17. Angular路由——辅助路由
  18. 《深度探索C++对象模型》读书笔记(二)
  19. 第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误,
  20. Struts2复习

热门文章

  1. Object类、日期时间类、system类及StringBuilder字符串容器
  2. 《趣谈 Linux 操作系统》学习笔记(一):为什么要学 Linux 及学习路径
  3. pads无模命令
  4. Mybatis的延迟加载和立即加载
  5. phpcms抛出的二维数组转移到js,js中for....in遍历数组,用“.”连接来读出一维数组值
  6. CodingPlus Blog Update Info
  7. jquery.datetimepicker中报错Cannot read property &#39;top&#39; of undefined
  8. zipfile-压缩解压
  9. Codeforces Round #617 (Div. 3) 补题记录
  10. PAT (Advanced Level) Practice 1054 The Dominant Color (20 分)