-
问题描述:
正整数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 之间约数个数最多的数。 -
数据输入:
输入数据由文件名为input.txt的文本文件提供。文件的第1 行有2 个正整数 a和 b。 -
结果输出:
程序运行结束时,找到a 和b之间约数个数最多的那个数及最多约数个数。
程序示例如下:
#include <iostream>
#include <fstream>
using namespace std;
#define max Max
const long MAXP = 100000;
long prim[MAXP];
long max, numb, PCOUNT; //max存放最多约数个数,numb存放约数个数最多的数
void primes(); //用筛选法产生质数存于prim数组中
void search(long from, long tot, long num, long low, long up);
int main()
{
primes();
long l, u;
// cin >> l >> u;
// 读文件
ifstream infile;
infile.open("D:/input.txt");
cout << "从input.txt中读取数据:" << endl;