蓝桥杯 算法训练 ALGO-117 友好数

Posted C3Stones

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了蓝桥杯 算法训练 ALGO-117 友好数相关的知识,希望对你有一定的参考价值。

算法训练 友好数  
时间限制:1.0s   内存限制:256.0MB
问题描述
  有两个整数,如果每个整数的约数和(除了它本身以外)等于对方,我们就称这对数是友好的。例如:
  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是友好的。
  编写程序,判断两个数是否是友好数。
输入格式
  一行,两个整数,由空格分隔
输出格式
  如果是友好数,输出"yes",否则输出"no",注意不包含引号。
样例输入
220 284
样例输出
yes
数据规模和约定
  两个整数都小于10000
 
示例代码:
 1 import java.io.BufferedReader;
 2 import java.io.IOException;
 3 import java.io.InputStreamReader;
 4 
 5 public class Main {
 6     public static void main(String[] args) throws IOException {
 7         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 8         String[] str = br.readLine().split(" ");
 9         int m = Integer.parseInt(str[0]);
10         int n = Integer.parseInt(str[1]);
11         int sum_m = f(m);
12         int sum_n = f(n);
13         
14         if(sum_m == n && sum_n == m){
15             System.out.println("yes");
16         }else
17             System.out.println("no");
18         
19     }
20 
21     private static int f(int x) {
22         int sum = 0;
23         for(int i = 1 ; i < x ; i++ ){
24             if(x % i ==0){
25                 sum += i;
26             }
27         }
28         return sum;
29     }
30     
31 }

 

以上是关于蓝桥杯 算法训练 ALGO-117 友好数的主要内容,如果未能解决你的问题,请参考以下文章

蓝桥杯 算法训练 ALGO-126 水仙花

蓝桥杯 算法训练 ALGO-147 4-3水仙花数

[蓝桥杯Python]算法练习算法基础算法训练算法模板(持续更新)

(蓝桥杯)试题 算法训练 数的计数

(蓝桥杯)试题 算法训练 进制转换4

(蓝桥杯)试题 算法训练 递归输出数字三角形