zoukankan      html  css  js  c++  java
  • 过剩数

    过剩数


    过剩数的定义是:一个正整数n,满足sigma(n ) - 2n > 0,sigma(n)就是n的所有约数的和,那么n就是过剩数。
    而sigma(n ) - 2n就是过剩值。
    现在给 x和y 两个正整数,要求在 区间[x,y] 里搜索过剩数,并且记录最大的过剩值。
    比如 [10,12] ,只有12是过剩数,而且过剩值是4,那么这个区间里面最大的过剩值就是4.

    【输入格式】
    输入第一行为一个正整数t,表示有t组测试数据
    每组测试数据一行,两个正整数x和y (1 < = x < = y < = 1024)
    【输出格式】
    每组数据如果有过剩数,输出最大的过剩值,否则输出-1
    【样例输入】
    3
    1 1
    10 12
    1 1024
    【样例输出】
    -1
    4
    1208

    这题贼简单,直接暴力水过....

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    int yue(int n)
    {
    	int s=0;
    	for(int i=1;i<=n;i++)if(n%i==0)s+=i;
    	return s;
    }
    int main()
    {
    	int a,b,n;
    	scanf("%d",&n);
    	while(n--)
    	{
    		int max=-1;
    		scanf("%d%d",&a,&b);
    		for(int i=a;i<=b;i++)
    		{
    			int t=yue(i);
    			if(t-2*i>0&&max<t-2*i)max=t-2*i;
    		}
    		printf("%d
    ",max);
    	}
    	
    	return 0;
    }
    
  • 相关阅读:
    parseInt()的用法
    报文
    express的中间件与next()
    前后端分离与前后端不分离
    jQuery中四个绑定事件的区别 on,bind,live,delegate
    TCP传输的三次握手四次挥手策略
    报文
    HTTP和HTTPS以及两者的区别
    前后端不分离与分离
    express中间件的next()方法
  • 原文地址:https://www.cnblogs.com/candy067/p/11402020.html
Copyright © 2011-2022 走看看