giao831 2020-02-07 01:06 采纳率: 0%
浏览 220
已结题

C语言问题求大佬解答啊啊

图片说明
这个为什么答案老是不对啊

#include<stdio.h>
int cn(int a,int b);
int main()
{
    int n,a,b,s;
     scanf("%d%d",&a,&b);
    s=cn(a,b); 
    printf("%d\n",s);
    return 0;
}

/* 请在这里填写答案 */
int g(int a)
{
int i,q=0;
for(i=1;i<=a;i++)
    if(a%i==0)
        q++;
return q;
}
int gg(int a)
{int i,q=1;
for(i=1;i<=a;i++)
    if(g(i)>g(a))
        q=0;
return q;
}
int cn(int a,int b)
{
    int j,max=g(a),m;
    for(j=a;j<=b;j++)
       {if(g(j)>max&&gg(j)==1)
            {max=g(j);
            m=j;}}
    return m;
}
  • 写回答

1条回答 默认 最新

  • 青语csl 2020-02-07 13:27
    关注

    #include "pch.h"
    #include
    //求因子个数
    int yz(int t) {
    int ans = 0;
    for (int i = 1; i <= t; i++) {
    if (t%i == 0) {
    ans++;
    }
    }
    return ans;
    }
    //判断是否为反素数
    bool pd(int x) {
    int dz = yz(x);
    for (int i = 1; i <= x - 1; i++) {
    if (yz(i) >= dz) {
    return false;
    }
    }
    return true;
    }

    int pn(int n) {
    int i = 0;
    for (int i = n; ; i--) {
    if (pd(i) == true) {
    return i;
    //break;
    }
    }
    }
    //比较两数之间的因子个数
    void cn(int a, int b) {
    if (pn(a) == pn(b)) {
    if (a < b) {
    printf_s("%d", a);
    }
    else printf_s("%d", b);
    }
    else if (pn(a) > pn(b)) {
    printf_s("%d", a);
    }
    else
    printf_s("%d", b);
    }
    int main() {
    int a,b;
    scanf_s("%d%d", &a,&b);
    /*for (int i = n; ; i--) {
    if (pd(i) == true) {
    printf_s("%d", i);
    break;
    }
    }*/
    cn(a, b);
    return 0;
    }

    评论

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题