`

【数学】HDU 1719 Friend

 
阅读更多

KIDx的解题报告

 

好久没写博客了,来题数学提提神

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1719

题意:

①1,2都是friend数

②如果a,b都是friend数,那么ab+a+b也是friend数

任务:判断一个数n是不是friend数 (0<=n<=2^30)

 

设a, b都是friend数,

那么可以生成一个friend数 x = ab+a+b = (a+1)(b+1)-1

设c, d都是friend数,

那么可以生成一个friend数 y = (c+1)(d+1)-1

由x,y又可以生成friend数n = (x+1)(y+1)-1

代入得:n = [(a+1)(b+1)][(c+1)(d+1)]-1

1,2生成的是 (1+1)(2+1)-1;

1,1生成的是 (1+1)^2 - 1;

2,2生成的是 (2+1)^2 - 1;

由递归理解可知friend数n = [(1+1)^x * (2+1)^y] - 1;

 

 

#include <iostream>
using namespace std;

int main()
{
	int n, x, y;
	while (~scanf ("%d", &n))
	{
		n++;
		x = y = 0;
		while (n % 2 == 0)
			n /= 2, x++;
		while (n % 3 == 0)
			n /= 3, y++;
		if (n == 1 && (x > 0 || y > 0))
			puts ("YES!");
		else puts ("NO!");
	}
	return 0;
}

 

2
0
分享到:
评论

相关推荐

    acm课件简单数学题(杭电)(HDU)

    在ACM(国际大学生程序设计竞赛,International Collegiate Programming Contest,简称ICPC)中,数学是至关重要的一部分,尤其是在解决杭电(Hangzhou Dianzi University,简称HDU)的题目时。本课件"acm课件简单...

    hdu.rar_hdu

    5. **数学应用**:组合数学、数论(质因数分解、模运算、欧几里得算法等)、概率论等。 6. **编码技巧**:IO优化(如scanf/printf代替cin/cout,文件流操作)、常量定义、预处理宏等。 7. **模板代码**:如快速幂...

    ACM HDU题目分类

    数学题是 ACM HDU 题目分类中的一大类,例如,1006 感觉有点 BT 的题;1007 经典问题,最近点对问题,用分治;1017 简单数学题;1018 简单数学题;1019 简单数学题 等等。 字符串处理 字符串处理是 ACM HDU 题目...

    HDU题目java实现

    11. **数学知识**:部分题目可能需要运用到离散数学、组合数学、数论等领域的知识。 12. **数据结构**:包括栈、队列、堆、队列、树、图等,以及它们的实现和应用。 13. **多线程**:在处理并发问题时,Java的...

    HDU_2010.rar_hdu 2010_hdu 20_hdu acm20

    【标题】"HDU_2010.rar"是一个压缩包文件,其中包含了与"HDU 2010"相关的资源,特别是针对"HDU ACM20"比赛的编程题目。"hdu 2010"和"hdu 20"可能是该比赛的不同简称或分类,而"hdu acm20"可能指的是该赛事的第20届...

    hdu1250高精度加法

    本题(hdu1250)主要考察的就是如何通过编程实现高精度加法,并解决一个特定的数学问题。 #### 题目解析 根据题目描述,该题目编号为HDU1250,其核心在于利用高精度加法解决问题。具体地,题目涉及到了斐波那契数列...

    杭电ACMhdu1163

    【标题】:杭电ACMhdu1163 【描述】:这是一道源自杭州电子科技大学(Hangzhou Dianzi University,简称HDU)的ACM编程竞赛题目,编号为1163。这类问题通常需要参赛者利用计算机编程解决数学、逻辑或算法上的挑战,...

    ACM HDU

    【ACM HDU】指的是在ACM(国际大学生程序设计竞赛,International Collegiate Programming Contest)中,参赛者在杭州电子科技大学(Hangzhou Dianzi University,简称HDU)的在线评测系统上完成并已解决的题目集合...

    hdu.rar_HDU 1089.cpp_OJ题求和_hdu_horsekw5_杭电obj

    具体来说,这个问题是关于 "a+b" 求和的,同时也可能涉及其他数学或编程相关的求解问题。 在编程竞赛或在线判题系统中,"oj题求和"通常指的是提交的代码需要处理一系列整数对 (a, b),并计算它们的和。这类问题通常...

    HDU acm-PPT课件

    【ACM入门与提高:HDU ACM竞赛课程详解】 ACM(国际大学生程序设计竞赛,International Collegiate Programming Contest,简称ICPC或ACM/ICPC)是一项全球性的竞赛,旨在激发大学生对计算机科学的兴趣,提升他们的...

    Hdu1000—2169部分代码

    HDU是杭州电子科技大学(Hangzhou Dianzi University)举办的一个在线编程竞赛平台,全称为HDU Online Judge。ACM是国际大学生程序设计竞赛(International Collegiate Programming Contest)的缩写,是一个全球性的...

    HDU DP动态规划

    【标题】"HDU DP动态规划"涉及到的是在算法领域中的动态规划(Dynamic Programming,简称DP)技术,这是解决复杂问题的一种高效方法,尤其适用于有重叠子问题和最优子结构的问题。动态规划通常用于优化多阶段决策...

    HDU1059的代码

    HDU1059的代码

    hdu1001解题报告

    hdu1001解题报告

    hdu 1574 passed sorce

    hdu 1574 passed sorce

    HDU最全ac代码

    4. **数学知识**:组合数学、离散数学、数论等,许多竞赛题目需要运用到这些数学原理。 5. **优化技巧**:如何减少时间复杂度,使用位运算优化、循环展开、记忆化搜索等方法提升代码效率。 6. **调试和测试**:...

    hdu题目分类

    在IT领域的编程竞赛中,HDU(HaoDong University)OJ(Online Judge)是一个备受推崇的在线编程平台,提供了大量的算法问题供参赛者挑战和学习。根据给定文件的信息,我们可以深入探讨HDU ACM题目分类中的几个关键...

    (HDUACM201403版_02)简单数学题

    杭电ACM课件2014版之 (HDUACM201403版_02)简单数学题

    hdu2101解决方案

    hdu2101AC代码

    hdu 5007 Post Robot

    hdu 5007 Post Robot 字符串枚举。 暴力一下就可以了。

Global site tag (gtag.js) - Google Analytics