来自GDOI2007,原题已不可考……

又自己做出来了好开心,找特殊性是个关键的切入点

原题:

这天周航遇到了靳泽旭。
   周航:“我是天才!”
   靳泽旭:“你为什么是天才?”
   周航:“你随便告诉我一个数字,我立即可以算出它所有约数之和,以及所有约数的倒数和!”
   靳泽旭:“换过来,我告诉你一个数的所有约数(包括1和该数本身)的和以及约数的倒数之和,你是天才你应该立即能推出这个数是什么!”
   周航被难倒了!
   现在,这个难倒了天才的题目就交到你手上了。

很像数论对吧

反正我没用数论知识

手玩小数据,玩到8的时候就可以发现一个很明显的规律:(不会搞表达式只能鼠绘一。一

把分母搞成一样的(通分)以后,分子就是所有约数和,分母是这个数,题目中也给出了约数和

分子上的约数和可能会和分母约掉,那么把分子和分母还原成约分之前的样子(分子分母同时*给出的约数和/分子)

如果给出的约数和%分子!=0,根据显然法可得,显然,无解

然后还需要验证一下,如果还原后的分母的约数和等于给出的约数和,还原后的分母就是答案

可以打表证明对于任意一组数据要么无解要么一组解,数学证明我不会(逃

在赛场上真不会也可以赌一下

然后搞一搞就行了,代码很好写

找特殊性是切入点,打表大法好

代码:

 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
long long read(){long long z=,mark=; char ch=getchar();
while(ch<''||ch>''){if(ch=='-')mark=-; ch=getchar();}
while(ch>=''&&ch<=''){z=(z<<)+(z<<)+ch-''; ch=getchar();}
return z*mark;
}
long long a,b,c;
long long jie(long long x){
int _q=int(sqrt(x*1.0));
long long bowl=;
for(int i=;i<=_q;i++)if(!(x%i)) bowl+=i+x/i;
if(_q*_q==x) bowl-=_q;
return bowl;
}
int main(){//freopen("ddd.in","r",stdin);
for(;;){//徐王大法好
a=read(),b=read(),c=read();
if(!a && !b && !c) break;
if(a%b){ printf("0\n"); continue;}
c*=a/b;
if(a!=jie(c)) printf("0\n");
else printf("1 %lld\n",c);
}
return ;
}

【P1379】天才的约数和的更多相关文章

  1. JZYZOJ1379天才的约数和 数论 约数和

    http://172.20.6.3/Problem_Show.asp?id=1379   易得n=a*b2/b1: 需要注意算出n之后要判断n的约数和是否等于a,这里需要用约数和定理递归,递归前求一下 ...

  2. BZOJ 1968: [Ahoi2005]COMMON 约数研究

    1968: [Ahoi2005]COMMON 约数研究 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 2032  Solved: 1537[Submit] ...

  3. 【BZOJ】3994: [SDOI2015]约数个数和

    题意: \(T(1 \le T \le 50000)\)次询问,每次给出\(n, m(1 \le n, m \le 50000)\),求\(\sum_{i=1}^{n} \sum_{j=1}^{m} ...

  4. [No000050]练习一万小时便能成为天才

    练习一万小时便能成为天才 世界上顶尖的记忆高手都是训练出来的! 加拿大畅销书作家麦尔坎·葛拉威尔在<异数>一书中指出:"人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了 ...

  5. codevs 2606 约数和问题

    题目描述 Description Smart最近沉迷于对约数的研究中. 对于一个数X,函数f(X)表示X所有约数的和.例如:f(6)=1+2+3+6=12.对于一个X,Smart可以很快的算出f(X) ...

  6. hdu5175 gcd 求约数

    题意:求满足条件GCD(N,M) = N XOR M的M的个数 sol:和uva那题挺像的.若gcd(a,b)=a xor b=c,则b=a-c 暴力枚举N的所有约数K,令M=NxorK,再判断gcd ...

  7. hdu1492(约数个数定理)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1492 这里先讲一下约数个数定理: 对于正整数x,将其质因分解为 x = pow(p1, a) * po ...

  8. 【vijos】P1514天才的记忆

    描述 从前有个人名叫W and N and B,他有着天才般的记忆力,他珍藏了许多许多的宝藏.在他离世之后留给后人一个难题(专门考验记忆力的啊!),如果谁能轻松回答出这个问题,便可以继承他的宝藏.题目 ...

  9. POJ 2480 (约数+欧拉函数)

    题目链接: http://poj.org/problem?id=2480 题目大意:求Σgcd(i,n). 解题思路: 如果i与n互质,gcd(i,n)=1,且总和=欧拉函数phi(n). 如果i与n ...

随机推荐

  1. HTML代码简写法:Emmet和Haml

    http://www.ruanyifeng.com/blog/2013/06/emmet_and_haml.html?bsh_bid=657901854 HTML代码简写法:Emmet和Haml   ...

  2. jQueryNotes仿QQ空间添加标记

    jquery-notes有以下特点: 支持添加备注图像 丰富的API 支持标记伸缩 支持更改主题 支持图片标记添加链接 不需要数据库 HTML 首先在页面上放置一张添加标志的图片 <div cl ...

  3. [Linux-脚本]排序、统计、合并命令

    1.排序命令 - sort: sort可以帮我们进行排序,排序顺序按照LANG(语系环境变量)确定.据观察,sort排序以行为单位进行.排序以第一个不相同的字符决定先后顺序(只与第一个不相同的字符相关 ...

  4. web.config设置和取值

    博客园中有一篇文章对web.config的结构做了很详细的介绍,原文见 http://www.cnblogs.com/gaoweipeng/archive/2009/05/17/1458762.htm ...

  5. NSString,NSArray,NSNumber等类的继承问题

    问题引入,我想给NSString类扩展一些新的方法.在Objective-C中可以有两种方法,一是继承,二是类别.本文先不讨论类别,我们用继承的方法试一下: @interface StringEx : ...

  6. 使用Xmanager远程连接CentOS6.4图形界面详解(图文)

    1.首先安装与下载图形界面GNOMEyum groupinstall "Desktop"yum groupinstall "X Window System"yu ...

  7. org.springframework.beans.MutablePropertyValues.add

    最近在项目中,通过maven引入其他包时,启动报错如下: [ERROR][2016-10-08 14:01:20.716]Context initialization failed[org.sprin ...

  8. 头疼--windows之安装meteor.js

    如果你的电脑是window,这篇文章会的对你有些帮助. 进入meteor官网下载的meteor for windows安装包老是安装失败而且很慢,很慢,经过一番研究之下,终于安装成功了,特此来分享下经 ...

  9. 宁波uber优歩司机注册教程 UBER宁波司机注册指南!

      自2012年Uber开始向全球进军以来,目前已进入全球56个国家和地区的市场,在全球超过270个城市提供服务, 而Uber公司的估值已高达412亿美元. [目前开通Uber优步叫车服务的中国城市] ...

  10. jquery判断div是否隐藏实例

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...