蒟蒻求DALAO之助

P5719 【深基4.例3】分类平均

TJ_WY @ 2023-12-01 23:15:52

谷三黄五递,皆大错矣

谷三黄五递,任与贤能,尧WrongA(让位)于舜,瞬WrangA于&(与运算,禹) 禹三过AC而不入,启DEV(代位)之,+天下为公天下,世袭治(分治,制)代DP制。 桀报(报错,暴)于名(函数名,民)商汤罚夏,变棕名之,商始样A。 纣递CPP于洛,五据错10,一分不得,武周罚商,商亡。 周初混乱,{不配对,/#!34#@^5jn皆混·搭之。 昌分九合诛猴,助于C+。 三家分尽,仍为WA,填式代齐,不得AC。 秦霸九合诸侯,一桶六鐹,设立集全。 燔书阬儒,暴举(穷举)于民,二世惨爆,三世出城投降于项羽刘邦。 汉高败楚,自刎乌江,休养生息,文景治茫。 张骞初赛,下月校办,DP仍差,匈奴灭亡。 不写了写不下去了家人们,我的乱编技术还是可以的对吧 在线求助

#include<bits/stdc++.h>
using namespace std;
int main(){
    double ah1,bh1,as,bs;
    int n,k;
    cin>>n>>k;
    for(int i=1;i<=n;i++){
        if(i%k==0){
            ah1+=i,
            as++;
        }
        else{
            bh1+=i,
            bs++;
        }
    }
    printf("%.1lf %.1lf",ah1/as,bh1/bs);
    return 0;
}

DALAO救我


by 呆呆的她啊 @ 2023-12-01 23:50:26

@cyt0319 哪里错了到底 你代码测试点1 2 没错的呀 和答案一样 但是 放到评测就错


by 呆呆的她啊 @ 2023-12-02 00:06:35

明早帮你看看 先睡了 帖子先别删了


by 呆呆的她啊 @ 2023-12-02 12:49:46

@cyt0319 as bs不可以用double定义 改成int


by 呆呆的她啊 @ 2023-12-02 13:11:09

@cyt0319 chatgpt:

在您的代码中,您将 as 和 bs 定义为 double 类型。当 ah1/as 和 bh1/bs 计算时,由于 ah1 和 bh1 是 double 类型,而 as 和 bs 也是 double,所以结果是正确的浮点数除法。

但是,如果您将 as 和 bs 定义为 int 类型,情况就不同了。即使 ah1 和 bh1 是 double 类型,但由于 as 和 bs 是 int,ah1/as 和 bh1/bs 的结果会首先进行整数除法,再将结果转换为 double。这样,小数部分就丢失了,导致结果不准确。


by TJ_WY @ 2023-12-02 22:45:28

@呆呆的她啊 感谢DEBUG,不然我都不知道要强制类型转换


by 呆呆的她啊 @ 2023-12-02 23:24:27

@cyt0319 不谢~


by llhhss @ 2024-09-05 21:32:57

@cyt0319

#include<iostream>
#include<cstdio>
using namespace std;
int n,k,cnt1=0,cnt2=0;
double ans1,ans2,sum1,sum2;
int main(){
    cin>>n;
    cin>>k;
    for(int i=1;i<=n;i++){
        if(i%k==0){
            sum1+=i;
            cnt1++;
        }else{
            sum2+=i;
            cnt2++;
        }
    }
    ans1=sum1/cnt1;
    ans2=sum2/cnt2;
    printf("%.1lf %.1lf",ans1,ans2);
    return 0;
}

by TJ_WY @ 2024-09-08 20:25:52

@llhhss 感谢,问题已解决


by llhhss @ 2024-09-09 20:46:21

@cyt0319 求关


by TJ_WY @ 2024-09-21 11:06:44

@llhhss 关了


|