哐哐蜜柑614 2021-11-30 18:35 采纳率: 100%
浏览 53
已结题

反素数 这样写错哪里了

问题描述
给定一个整数x,定义g(x)是x的因子个数。现在给你一个整数区间[a,b],请你求出该区间的x使g(x)最大。

输入
第一行是一个整数n,接下来总共n行。

每行两个正整数a和b, 1<=a<=b<=5000,表示闭区间[a,b]。

输出
对每组测试数据,在单独的一行中输出一个整数,即对应的区间因子最多的数,如果满足条件有多个,则输出其中最小的数。

输入样列
3
2 3
1 10
47 359
输出样例
2
6
240
#include<stdio.h>
int main()
{
int t;
int a,b,max,z,num;
int i,j;
scanf("%d",&t);
while(t--){
max=0;
z=0;
scanf("%d%d",&a,&b);
for(i=a;i<=b;i++){
for(j=1;j<i/2;j++){
if(i%j==0) z++;
}
if(z>max){
max=z;
num=i;
}
}
printf("%d\n",num);
}
return 0;
}

  • 写回答

2条回答 默认 最新

  • 南七灵 2021-11-30 18:45
    关注

    稍微改了一下,你对比着看看

    #include <stdio.h>
    int main()
    {
        int t;
        int a, b, max, z, num;
        int i, j;
        scanf("%d", &t);
        while (t--)
        {
            max = 0;
            scanf("%d%d", &a, &b);
            for (i = a; i <= b; i++)
            {
                z = 0;
                for (j = 1; j <= i/2; j++)
                {
                    if (i % j == 0)
                        z++;
                }
                if (z > max)
                {
                    max = z;
                    num = i;
                }
            }
            printf("%d\n", num);
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月2日
  • 已采纳回答 12月1日
  • 创建了问题 11月30日

悬赏问题

  • ¥15 不小心不正规的开发公司导致不给我们y码,
  • ¥15 我的代码无法在vc++中运行呀,错误很多
  • ¥50 求一个win系统下运行的可自动抓取arm64架构deb安装包和其依赖包的软件。
  • ¥60 fail to initialize keyboard hotkeys through kernel.0000000000
  • ¥30 ppOCRLabel导出识别结果失败
  • ¥15 Centos7 / PETGEM
  • ¥15 csmar数据进行spss描述性统计分析
  • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿