第1个回答 2007-12-15
1+2+3+6=12
6*3+3=21
12≠21
那到底是一个正整数n,它的所有约数之和等于3n+3
还是一个正整数n,它的所有约数之和等于2n
分解质因数
设N=p1^r1*p2^r2*...*pn^rn
则s=(1+p1+p1^2+...+p1^r1)*(1+p2+p1^2+...+p2^r2)*...*(1+pn+pn^2+...+pn^rn)
=(p1^r1-1)/p1-1 * (p2^r2-1)/p2-1 * ... * (pn^rn-1)/pn-1
第2个回答 2007-12-15
1+2+3+6=12
6*3+3=21
12≠21
那到底是一个正整数n,它的所有约数之和等于3n+3
还是一个正整数n,它的所有约数之和等于2n
第3个回答 2007-12-16
1-10000000内无解,你能证明在自然数范围内一定有解吗?
实在要找的话,把下面的内容保存为cpp文件,用vc编译,这个效率应该高一些。
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
register int n,i,t,sum;
for(n=10000000;;++n)
{
t=(int)sqrt(n+0.5);
for(i=2,sum=0;i<t;++i)
if(n%i==0) {sum+=(i+n/i);if(sum>n) sum-=n;}
if(n==t*t) sum+=t;
if(sum%(n+1)==0&&sum/(n+1)>1) {cout<<n<<endl;break;}
system("pause");
return 0;
}
第4个回答 2007-12-15
如果你的意思是一个正整数n的所有约数之和等于它本身的3倍多3
那么10000之内无解
用编程做的不会错
第5个回答 2007-12-20
不存在这样的正整数n,它的所有约数之和等于3n+3。
具体证明请参考《初等数论》(潘承洞,潘承彪:高等教育出版社)