qqcmm1015 2022-10-15 15:51 采纳率: 61.8%
浏览 27
已结题

有一个测试点错误,找不到

蓝总是一个非常喜欢看球的人。今天蓝总支持的球队有比赛, 蓝总想知道它是否获胜。

现蓝总在进行一个赌局,并对分数的规则做了一些修改:

若该分数是素数,则令该分数×他本身

若该分数是2的倍数,则令该分数×2

若该分数是3的倍数,则令该分数×3

eg. 5 对应的最终分数是 5×5=25;

蓝总寻思着应该能赢。

输入格式:
第一行输入两个正整数 n,m ; (1≤n,m≤100)

第二行包含 n 个整数以及一个字符,n 个整数代表该球队前 n 节比赛的得分,字符'Y'表示这是蓝总支持的球队,字符'N'表示不是蓝总支持的球队。 行输入整数 ∈[2,100]

第三行包含 m 个整数以及一个字符,m 个整数代表该球队前 m 节比赛的得分,字符'Y'表示这是蓝总支持的球队,字符'N'表示不是蓝总支持的球队。 行输入整数 ∈[2,100]

题目数据保证两队伍,其中一个是'Y',另一个是'N'

输出格式:
最终总分多的队伍胜利;

对于每组输入输出一行,若蓝总支持的球队胜利了输出"hei!";

若是平局或是败北,则输出"ying!"

输入样例:
4 3
91 75 42 27 N
37 18 73 Y
输出样例:
hei!
Hint
2既是素数,也是2的倍数,所以最后相应的乘上的权值是 2*2,所以2对应的最后答案是 2×(2×2)=8

#include<stdio.h>
int main()
{    int n,m,a,ret,rets,b,N,Y;
    int sum=0,SUM=0;
    char ch,CH;
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
        {scanf("%d",&a);
         ret=1;
         if(a%2==0)
             {sum=sum+a*2;
            }
         if(a%3==0)
             {sum=sum+a*3;
            }
         for(int j=2;j<=a;j++)
         {
             if(a==2){;
             }
             else if(a%j==0)
                 {ret=-1;
                 break;
                }
         }
         if(ret==1)
             {sum=sum+a*a;
            }                              
        }
    ch=getchar();
    ch=getchar();
    if(ch=='N')
        {N=sum;
        }
    else
        {Y=sum;
        }

    for(int k=1;k<=m;k++)
        {scanf("%d",&b);
         rets=1;
         if(b%2==0)
             {SUM=SUM+b*2;
            }
         if(b%3==0)
             {SUM=SUM+b*3;
            }
         for(int l=2;l<=b;l++)
         {
             if(b==2){;
             }
             else if(b%l==0)
                 {rets=-1;
                 break;
                }
         }
         if(rets==1)
             {SUM=SUM+b*b;
            }                              
        }
    CH=getchar();
    CH=getchar();
    if(CH=='N')
        {N=SUM;
        }
    else if(CH=='Y')
        {Y=SUM;
        }
    if(Y>N)
        {printf("hei!");
        }
    else
        {printf("ying!");
        }
    return 0;
}

  • 写回答

1条回答 默认 最新

  • sam0Lin 2022-10-15 23:55
    关注

    for(int l=2;l<=b;l++), 小于等于改为小于试试,

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月17日
  • 创建了问题 10月15日

悬赏问题

  • ¥15 kotlin multiplaform 的共享模块支持蓝牙吗还是说安卓和ios的蓝牙都要自己配
  • ¥15 为什么我的查询总是显示无数据,该怎么修改呢(语言-java)
  • ¥15 IDDPM采样结果异常
  • ¥100 求一个,王者荣耀查询隐藏战绩的教材,爬虫代码
  • ¥60 Cocos creator缓动问题
  • ¥15 专业问题提问,7月5号2点之前
  • ¥25 使用cube ai 导入onnx模型时报错
  • ¥15 关于#微信小程序#的问题:用一个网页显示所有关联的微信小程序数据,包括每个小程序的用户访问量
  • ¥15 root的安卓12系统上,如何使apk获得root或者高级别的系统权限?
  • ¥20 关于#matlab#的问题:如果用MATLAB函数delayseq可以对分数延时,但是延时后波形较原波形有幅度上的改变