ZZULIOJ-1105: 判断友好数对(函数专题)(Java)

简介: ZZULIOJ-1105: 判断友好数对(函数专题)(Java)

题目描述:


输入两个正整数m和n,顺序输出m到n之间的所有友好数对。


如果两个整数的所有正因子之和(包括1,不包括自身)等于对方,就称这对数是友好的。例如:1184和1210是友好数对,因为

1184的因子之和为1+2+4+8+16+32+37+74+148+296+592=1210

1210的因子之和为1+2+5+10+11+22+55+110+121+242+605=1184

要求程序定义一个facsum ()函数和一个main()函数,facsum ()函数计算并返回n的所有正因子之和,其余功能在main()函数中实现。

int facsum (int n)

{

//计算n的所有正因子之和sum,本函数返回sum

}

对于C/C++代码的提交,本题要求必须通过定义facsum函数和main函数实现,否则,提交编译错误,需要提交完整的程序代码。


输入:


输入两个正整数m和n,1<m<=n<=10000。  


输出:


输出m和n之间的所有友好数对。

在输出每个友好数对时,要求小数在前、大数在后,并去掉重复的数对。例如,220和284是一对友好数,而284和220也是一对友好数,此时只需输出220和284这对友好数。每个友好数对占一行,两数之间用空格隔开。


如果m和n之间没有友好数对,则输出“No answer”。


样例输入:


100 8000


样例输出:


220 284

1184 1210

2620 2924

5020 5564


程序代码:


import java.util.*;
public class Main
{
  public static int FacSum(int n)
  {
    int sum=0;
    for(int i=1;i<n;i++)
    {
      if(n%i==0)
        sum+=i;
    }
    return sum;
  }
  public static void main(String[] args)
  {
    Scanner input=new Scanner(System.in);
    int m=input.nextInt();
    int n=input.nextInt();
    int t,flag=0;
    for(int i=m;i<=n;i++)
    {
      t=Main.FacSum(i);
      if(i==Main.FacSum(t)&&i<t)
      {
        System.out.println(i+" "+t);
        flag=1;
      }
    }
    if(flag==0)
      System.out.println("No answer");
    input.close();
  }
}


相关文章
|
1月前
|
JavaScript 前端开发 Java
Java Script中的函数原型是什么
Java Script中的函数原型是什么
11 0
|
5月前
|
JavaScript 前端开发 Java
javascript实现像java、c#之类的sleep暂停的函数功能
javascript实现像java、c#之类的sleep暂停的函数功能
41 0
|
5月前
|
Java
java实现Beta函数
java实现Beta函数
|
6月前
|
缓存 算法 Java
在阿里云上部署和运行Java函数时
在阿里云上部署和运行Java函数时
94 2
|
1月前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
92 3
|
3月前
|
Java
java的OutputStream.writeUTF()函数
java的OutputStream.writeUTF()函数
34 4
|
4月前
|
算法 Java
给定一个字符串数组,如何找到其中最长的回文子串? 要求:编写一个Java函数,输入一个字符串数组,输出其中最长的回文子串。要求时间复杂度为O(n^2)。可以考虑使用动态规划或中心扩展的方法来优化算法。
给定一个字符串数组,如何找到其中最长的回文子串? 要求:编写一个Java函数,输入一个字符串数组,输出其中最长的回文子串。要求时间复杂度为O(n^2)。可以考虑使用动态规划或中心扩展的方法来优化算法。
41 1
|
5月前
|
Java
“Java 8新特性:Lambda表达式与函数引用的详细之道“
“Java 8新特性:Lambda表达式与函数引用的详细之道“
|
5月前
|
JavaScript Java
java函数防抖
java函数防抖
30 0
|
5月前
|
Java
Java实现Excel中的NORMSDIST函数和NORMSINV函数
Java实现Excel中的NORMSDIST函数和NORMSINV函数