zoukankan      html  css  js  c++  java
  • codevs 2632 非常好友

    题目描述 Description

    Bessie和其他的所有奶牛的耳朵上都戴有一个射频识别(RFID)序列号码牌。因此农夫John可以机械化地计算他们的数量。很多奶牛都有一个“牛友”。如果奶牛A的序列号的约数之和刚好等于奶牛B的序列号,那么A的牛友就是B。在这里,一个数的“约数”不包括这个数本身。

    因为一些奶牛的号码约数和大于其他任何奶牛的号码,所以这些奶牛没有牛友。而一些奶牛有一个“非常好友”,当两个奶牛互为“牛友”时,他们就是一对“非常好友”。注意在这道题中,忽略那些自己是自己的“非常好友”的情况。

    给定一个序列号S (6≤S≤18,000),找到序列号不小于S的第一个有“非常好友”的奶牛。

    比如说,考虑序列号220,它的约数是1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 和110,和是284。类似的,284的约数是1, 2, 4, 71, 和142,他们的和是220。因此220和284是一对非常好友。

    输入描述 Input Description

    第1行: 一个单独的整数S,即给定的序列号。

    输出描述 Output Description

    第1行:2个整数A和B,用一个空格隔开。A表示第一个序列号不小于S的有非常好友的奶牛的序列号,B是他的“非常好友”的序列号。

    样例输入 Sample Input

    206

    样例输出 Sample Output

    220 284

    代码:

    #include<cstdio>//一道水题
    using namespace std;
    int n;
    int f(int x)
    {
        int ans=0;
        for(int i=1;i<=x/2;i++)
          if(x%i==0)
            ans+=i;
        return ans;
    }
    int main()
    {
        int i;
        scanf("%d",&n);
        for(i=n;;i++)
        {
            int t=f(i);
            if(f(t)==i&&t!=i)
            {
                printf("%d %d",i,t);
                return 0;;
            }
        }
        return 0;
    }
  • 相关阅读:
    Log4Net 配置详解
    .Net Core 获取应用物理路径的常见问题
    Js/Jquery获取iframe中的元素
    Ztree树使用详解
    【解决】nginx + socket.io ,能连接但不响应事件
    基础文档官方链接
    位运算
    Java基础之集合框架--Collections.reverse()方法
    Android动画攻略—帧动画、补间动画、属性动画
    [转]京东mPaaS移动日志建设与应用
  • 原文地址:https://www.cnblogs.com/jyhywh/p/6055750.html
Copyright © 2011-2022 走看看