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

题目:

正整数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;
}
相关推荐
2601_9628517417 小时前
计算机毕业设计之基于YOLOV10的低光照目标检测算法研究与实现
大数据·算法·yolo·目标检测·信息可视化·cnn·课程设计
magicwt17 小时前
快手自动出价论文GAVE阅读笔记
算法
智者知已应修善业18 小时前
【P12159蓝桥杯数组翻转】2025-4-24
c语言·c++·经验分享·笔记·算法·蓝桥杯
小巧的砖头18 小时前
使用SVN+CruiseControl+ANT实现持续集成之一
学习·算法
人道领域18 小时前
【LeetCode刷题日记】贪心算法理论与实战:455.分发饼干最优解
java·开发语言·数据结构·算法·leetcode·贪心算法
小O的算法实验室19 小时前
2026年ACM TCH,动态救护车路径优化:结合 K-means 聚类与多目标粒子群算法两阶段策略
算法
在书中成长19 小时前
HarmonyOS 小游戏《对战五子棋》开发第8篇 - GomokuEngine核心引擎设计(三):五子连珠判定算法
算法·华为·harmonyos
Let's Chat Coding19 小时前
MAC 消息认证码:同时验证来源和完整性
算法·哈希算法
cc.ChenLy21 小时前
算法从入门到精通实战指南
算法
Jerry1 天前
LeetCode 160. 相交链表
算法