算法设计与分析 | 最多约数

题目:

正整数x的约数是能整除x的正整数。正整数x 的约数个数记为div(x)。例如,1,2,5,10 都是正整数10 的约数,且div(10)=4。设a 和b 是2 个正整数,a≤b,找出a和b之间约数个数最多的数x。

输入

对于给定的2个正整数a≤b。

输出

编程计算a 和 b 之间约数个数最多的数的数量,和约数最多的数。

分析

可以写一个统计约数个数的方法div(),然后在main里面写一个for循环,找出约数个数最多的数。

代码

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h>
//最多约数
int div(int n){
	int count = 0;//统计约数个数
	for (int i = 1; i <= n; i++) {
		if (n % i == 0) {
			count++;
		}

	}
	return count;
}
int main() {
	int first, end;//区间数
	scanf("%d %d", &first, &end);
	int max = 0, maxNum = 0;
	for (int j = first; j <= end; j++) {
		int temp = div(j);
		if (temp > max) {//如果约数个数比max大,则将该数赋给max,并记录下该约数最多的数
			max = temp;
			maxNum = j;
		}
	}
	printf("%d %d", max, maxNum);

	return 0;
}
相关推荐
笨笨饿3 分钟前
#65_反激电源
stm32·单片机·嵌入式硬件·算法·硬件工程·个人开发
wengqidaifeng4 分钟前
数据结构:排序(下)---进阶排序算法详解
数据结构·算法·排序算法
MicroTech20254 分钟前
突破单机量子计算限制:MLGO微算法科技的新型分布式量子算法模拟平台实现高效验证
科技·算法·量子计算
没有天赋那就反复5 分钟前
C++里面引用参数和实参的区别
开发语言·c++·算法
wengqidaifeng9 分钟前
数据结构:排序(上)---基础排序算法详解
数据结构·算法·排序算法
Zlssszls15 分钟前
机器人马拉松的第二年,比的是其背后的隐形赛场:具身训练工具链
算法·机器人
shylyly_16 分钟前
sizeof 和 strlen的理解与区分
c语言·算法·strlen·sizeof
m0_7431064626 分钟前
【浙大&南洋理工最新综述】Feed-Forward 3D Scene Modeling(五)
人工智能·算法·计算机视觉·3d·几何学
Sam_Deep_Thinking9 小时前
学数据结构到底有什么用
数据结构
kobesdu9 小时前
人形机器人SLAM:技术挑战、算法综述与开源方案
算法·机器人·人形机器人