zoukankan      html  css  js  c++  java
  • 蓝桥杯 友好数 数论

    题目描述
    有两个整数,如果每个整数的约数和(除了它本身以外)等于对方,我们就称这对数是友好的。例如:
    9的约数和有:1+3=4
    4的约数和有:1+2=3
    所以9和4不是友好的。
    220的约数和有:1 2 4 5 10 11 20 22 44 55 110=284
    284的约数和有:1 2 4 71 142=220
    所以220和284是友好的。
    编写程序,判断两个数是否是友好数。

    数据规模和约定
    两个整数都小于10000

    输入
    一行,两个整数,由空格分隔
    输出
    如果是友好数,输出" yes" ,否则输出" no" ,注意不包含引号。
    样例输入
    220 284
    样例输出
    yes

    思路:求约数,这是一个比较重要的知识点

    #include<iostream>
    using namespace std;
    int get(int n)
    {
        int sum=0;
        for(int i=1;i<=n/i;++i){
            if(n%i==0){
                sum+=i;
                if(n/i!=i){
                    sum+=n/i;
                }
            }
        }
        sum-=n;
        return sum;
    }
    int main()
    {
        int s1,s2;
        cin>>s1>>s2;
        if(s1==get(s2)&&s2==get(s1))cout<<"yes"<<endl;
        else cout<<"no"<<endl;
        return 0;
    }
    
  • 相关阅读:
    关于按钮背景透明 + div拖拽
    asp.net 自带ajax 控件的小实例
    何去何从
    字符串的常用操作
    第一章
    C语言的基础知识2
    C语言的基础知识1
    socket
    缓冲区溢出学习
    OD调试
  • 原文地址:https://www.cnblogs.com/clear-love/p/11335902.html
Copyright © 2011-2022 走看看