초과 수

초과 수


과량의 수를 정의한다 : 시그마 만족 N은 양의 정수 (N) - 2N> 0 , 시그마 (N) 그 후, n 및 모든 정보의 개수 N 초과의 수이다.
그리고 시그마 (n)은 - 2N은 초과 값입니다.
이제 두 개의 양의 정수들 x 및 y, 과잉 수의 탐색 범위의 요건 [X, Y]를 수득하고, 과량의 최대 값을 기록한다.
이러한 [10,12]으로 만 번호 (12)는 초과하지만 과량의 값은 어떤 값이 최대 간격은 과도한 4, 4이다.

[입력 형식
양수 t 제 행동 입력, t 테스트 데이터 세트를 보유 나타내는
각 데이터 선 검사 개의 양의 정수의 X 및 Y (1 <=의 X <= Y <= 1,024)
[] 출력 형식
각 데이터 과량 번호가있는 경우에는, 별도로 출력 -1 최대 과도 값을 출력한다
[] 샘플 입력
. 3
. 1 1
10 12이다
. 1 1024
[] 출력 샘플
-1
. 4
1,208

물 위에이 질문에 도둑 간단하고 직접적인 폭력 ....

#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\n",max);
    }
    
    return 0;
}

추천

출처www.cnblogs.com/candy067/p/11402020.html