首页 > 其他分享 >【ZZULIOJ】1105: 判断友好数对(函数专题)

【ZZULIOJ】1105: 判断友好数对(函数专题)

时间:2024-06-13 23:01:02浏览次数:22  
标签:输出 int 数对 ZZULIOJ facsum 因子 1105 友好

题目描述

输入两个正整数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 ()函数计算并返回n的所有正因子之和。
int facsum (int n)
{
//计算n的所有正因子之和sum,本函数返回sum
}
对于C/C++代码的提交,要求必须通过定义facsum函数来求一个整数n的正因子之和,否则,提交编译错误,本题需要提交完整的程序代码。

输入

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

输出

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

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

样例输入 Copy

100 8000

样例输出 Copy

220 284
1184 1210
2620 2924
5020 5564
6232 6368

code

import java.util.*;

public class Main {
	static int facsum (int n) {
		int s = 0;
		for (int i = 1; i < n; i ++)
			if (n % i == 0)
				s += i;
		return s;
	}
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int m = sc.nextInt(), n = sc.nextInt();
		int[] a = new int[n+1];
		
		int f = 1;
		for (int i = m; i <= n; i ++) {
			if (i == facsum(facsum(i)) && i != facsum(i)) {
				f = 0;
				if (a[i] == 0 && a[facsum(i)] == 0)
					System.out.printf("%d %d\n", i, facsum(i));
				a[i] ++;
			}
		}	
		if (f == 1)
			System.out.print("No answer");
	}
}

标签:输出,int,数对,ZZULIOJ,facsum,因子,1105,友好
From: https://blog.csdn.net/m0_64604482/article/details/139666193

相关文章

  • zzulioj1042答案c语言
    ​(方法一:使用函数体)#include<stdio.h>#include<math.h>intt;//t输入这里的t是一个全局变量doubleturn(doublem,doublen,doublea,doublesum,doubleflag);intmain(){doublem,n,a,sum=0,flag=1;//m分子,n分母,a项数,sum和,flag变换符号scanf("%d",......
  • 英伟达A100、A800、H100、H800、V100以及RTX 4090的详细性能参数对比
    英伟达A100、A800、H100、H800、V100以及RTX4090的详细性能参数对比:英伟达A100架构与制程:架构:Ampere制程:7纳米核心与频率:CUDA核心数:6912个Tensor核心数:432个Boost时钟频率:1.41GHz性能:FP32性能:19.5TFLOPSFP64性能:9.7TFLOPSTensor性能:624.6TFLOPS内存:显存......
  • C/C++单元测试如何解决非虚函数对象依赖
    如何解决非虚函数对象依赖随着事物的接触越来越多,了解的越来越深入,我们总会发现一些新的问题或者不足。就像前文提到的一样,我们在面对有对象的虚函数依赖的时候,可以使用gmock框架来为我们提供方便的模拟期望值,以便我们能撇除外界的影响(依赖)从逻辑上设计单元测试并持续的......
  • 英伟达(NVIDIA)、AMD和Intel部分GPU性能参数对比
    当然,以下是对NVIDIA、AMD和Intel部分GPU型号更为详细的性能参数对比,以及对它们的市场应用和技术创新的概述。NVIDIAGPU1.NVIDIAH100CUDA核心数:数千个(具体数量根据型号配置有所不同)TensorCore数:数百个(为深度学习提供强大的加速能力)显存容量:高达数百GB(如采用HBM2E技术的型......
  • 100321. 优质数对的总数 II
    题目描述给你两个整数数组nums1和nums2,长度分别为n和m。同时给你一个正整数k。如果nums1[i]可以被nums2[j]*k整除,则称数对(i,j)为优质数对(0<=i<=n-1,0<=j<=m-1)。返回优质数对的总数。思路nums1[i]可以被nums2[j]*k整除,那么nums2[j]*k......
  • 信奥一本通1403:素数对
    1403:素数对时间限制:1000ms内存限制:65536KB提交数:38296通过数:28167【题目描述】两个相差为2的素数称为素数对,如5和7,17和19等,本题目要求找出所有两个数均不大于n的素数对。【输入】一个正整数n(1≤n≤10000)。【输出】所有小于等于n的素数对。每对素......
  • C++ STL 函数对象:隐藏的陷阱,如何避免状态带来的麻烦?
    STL函数对象:无状态即无压力一、简介二、函数对象三、避免在函数对象中保存状态3.1、函数对象3.2、lambda表达式四、选择合适的更高层次的结构五、总结一、简介在使用C++标准模板库(STL)时,函数对象(FunctionObject)是一种强大的工具,它可以帮助你编写更具表......
  • 函数对象、装饰器、闭包函数
    函数对象Python中一切皆对象【1】可以直接被引用定义一个函数用一个新的变量名来存,用新的变量名来调用【2】可以作为元素被储存功能字典的函数地址【3】函数可以作为参数传递给另一个函数将函数的内存地址作为参数传递【4】函数的返回值可以是函数直接将函数的内存地址返......
  • Python高级之函数对象与闭包函数
    【一】函数对象函数对象是指函数可以被当成数据来处理,python中一切皆为对象【1】函数可以被引用defadd(a,b):returna+bres=add(3,4)print(res)#7【2】函数作为容器类型的元素defadd(a,b):returna+bnum_list=[add,1]res=num_list[0......
  • 10.函数对象 与 闭包函数
    【一】函数对象Python中一切皆对象可直接被引用定义一个函数,用一个新的变量名来存,来调用可作为元素被储存功能字典中函数的地址可作为参数传递给另一个函数将函数的内存地址作为参数函数的返回值可以是函数直接将函数的内存地址返回【二】闭包函数1)......