高分求解C语言问题

来源:百度知道 编辑:UC知道 时间:2024/06/02 05:49:57
正整数x的约数个数记为div(x),如1,2,5,10都是10的约数,且div(10)=4,求给定的2个数a<=b间约数个数最多的数,输入的数据由文件名为div.in的文本文件提供,div.out输出结果!

急啊!越快越好啊

按照要求完成:)

#include <stdio.h>

int main()
{
FILE *fin, *fout;
int a, b, i, j;
int count, max_count, s;

fin = fopen("div.in", "r");
fout = fopen("div.out", "w+");

fscanf(fin, "%d%d", &a, &b);
max_count = -2;
s = 0;
for (i = a; i <= b; i++)
{
count = 0;
for (j = 2; j < i; j++)
{
if (i % j == 0)
count++;
}
if (count > max_count) {
max_count = count;
s = i;
}
}
fprintf(fout, "%d", s);

fclose(fin);
fclose(fout);
}

int div(int x)//函数div的实现
{
int i,count=0;
for(i=1;i<=x;i++)
{
if(x%i==0) count++;
}
return(count);
}
int Max(int a,int b)//该函数实现找出a到b之间约数个数最多的数
{
int i,j,temp,max;
int d[20];//存放a到b之间各数的约数个数
j=0;