洛谷——P1851 好朋友

P1851 好朋友

题目背景

小可可和所有其他同学的手腕上都戴有一个射频识别序列号码牌,这样老师就可以方便的计算出他们的人数。很多同学都有一个“好朋友” 。如果 AA 的序列号的约数之和恰好等于 BB 的序列号,那么 AA 的好朋友就是 BB。在这里,一个数的约数不包括这个数本身。因为一些同学的号码约数和大于其他任何同学的号码,所以这些同学没有好朋友。一些同学有一个“非常好友” 。当两个同学互为“好朋友”时,他们就是一对“非常好友” 。注意在这道题中,忽略那些自己是自己的“非常好友”的情况。

题目描述

给定一个序列号 ss,找出序列号不小于 ss 的第一对“非常好友” 。

输入格式

只有一行一个整数 ss,即给定的序列号下界。

输出格式

输出一行两个用空格隔开的整数 aa 和 bb

aa 表示第一个序列号不小于 ss 的有“非常好友”的同学,bb 是 aa 的“非常好友” 。(注:允许 b<sb<s

输入输出样例

输入 #1复制

206

输出 #1复制

220 284

说明/提示

数据规模与约定

  • 对于 100%100% 的数据,保证 6\le s\le1.8\times10^46≤s≤1.8×104。
#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    for(int i=n;;i++){
        int m=i,sum1=1,sum2=1;
        for(int j=2;j<m;j++) if(m%j==0) sum1+=j;
        for(int j=2;j<sum1;j++) if(sum1%j==0) sum2+=j;
        if(sum2==m&&sum1!=sum2){
            cout<<m<<" "<<sum1;
            break;
        }
    }
    return 0;
}

亲密数

上一篇:SQL Server字符串转日期格式


下一篇:C# 读取excel剪切板中的的xml数据,防止数据格式化精度丢失