zoukankan      html  css  js  c++  java
  • 洛谷 P1851 好朋友

    题目背景

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

    题目描述

    给定一个序列号 S(6≤S≤18000) ,找出序列号不小于 S 的第一对“非常好友” 。

    输入输出格式

    输入格式:

    一行一个整数S,即给定的序列号。

    输出格式:

    一行两个整数A 和 B(用空格隔开) 。A 表示第一个序列号不小于 S 的有“非常好友”的同学,B 是 A 的“非常好友” 。

    输入输出样例

    输入样例#1:
    206
    输出样例#1:
    220 284

    感想

      距离高考73天时,忙里偷闲做上一题入门级别的模拟,结果两次才AC,原因见题面加黑部分……而且我这次才知道,一个数的约数包括1……长见识了。

    解题思路

      按题意模拟即可

      从洛谷讨论里得知这种数对名叫亲和数,挂一个百度到的介绍亲和数比较详细的链接,侵删

    源代码

    #include<stdio.h>
    
    int s;
    
    int f(int a)//求一个数的“好朋友”
    {
        int sum=0;
        for(int i=1;i<a;i++)
        {
            if(a%i==0) sum+=i;
        }
        return sum;
    }
    
    int main()
    {
        scanf("%d",&s);
        for(int i=s;;i++)
        {
            int j=f(i),k=f(j);
            if(k==i&&i!=j)
            {
                printf("%d %d",i,j);
                return 0;
            }
        }
        return 0;
    }
  • 相关阅读:
    解决maven构建webapp index.jsp报错问题
    Maven入门介绍
    Linux常用命令的解释
    linux怎么查看一个文件夹的大小
    EPEL源-是什么全称
    nginx+php-fpm配置后页面显示空白的解决方法(yum形式的安装)
    配置新服务器 的一些 依赖库 php mysql nginx
    服务器 CentOS上yum安装Nginx服务
    Java File创建新目录和文件
    struts2的文件上传
  • 原文地址:https://www.cnblogs.com/wawcac-blog/p/8646688.html
Copyright © 2011-2022 走看看