b96902HW 板


LINE

※ 引述《JingXD (@O@)》之铭言: : 使徒四的第二个测资.... : 为什麽连 用三个FOR 去一一检查 也不对阿 囧囧囧 : WHY WHY WHY ~~~ 囧囧 这是我的 loop 版本: #include <stdio.h> int main(){ int N; int A, B, C, D; int a, b, c; int i, j, k; int sum1, sum2, sum3; int found; for(scanf("%d", &N); N > 0; --N){ scanf("%d %d %d %d %d %d %d", &D, &a, &b, &c, &A, &B, &C); found = 0; for(i = 0, sum1 = 0; !found && i <= a && sum1 >= 0 && sum1 <= D; ++i, sum1 += A) for(j = 0, sum2 = sum1; !found && j <= b && sum2 >= 0 && sum2 <= D; ++j, sum2 += B) for(k = 0, sum3 = sum2; !found && k <= c && sum3 >= 0 && sum3 <= D; ++k, sum3 += C) if(sum3 == D) found = 1; printf(found ? "yes\n" : "no\n"); } return 0; } 其中 sum1 代表用到的 alligator legs 的魔力总和, sum2 代表用到的 alligator legs 及 bat eyes 的魔力总和, sum3 代表用到的 alligator legs, bat eyes 及 cat skulls 的魔力总和. 我来说一下什麽是 "溢位" 好了: 因为 int 只有 32 bits 可以用, 所以只能表示 -2^31 ~ 2^31 - 1, 也就是 -2147483648 ~ 2147483647. 当两个正数相加的结果超过 2147483647 後, 就发生所谓的 "溢位", 这时多出来的那 1 个 bit 会被丢掉, 剩下来的 bits 在电脑解读起来会变成负数 (注意只有两个正数相加才会这样), 可以想像成下图: |-------------------------------o----------------------*--------| -2^31 A 2^31-1 |-------------------------------o-------------------------*-----| -2^31 B 2^31-1 |---------------*---------------o-------------------------------| -2^31 A+B 2^31-1 因此, 我用 sumX >= 0 来克服 overflow 的问题. 因为 D <= 2147483647, 因此 sumX 加到 overflow 的话, 就一定超过 D 了. --- 这是不好的示范, 大家不要学 XD -- >_< U --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.30.54
1F:推 hikaru4:看的很吃力 有个小问题 sum123难道不会溢位溢到变正的吗? 10/23 20:08
2F:→ hikaru4:还是我还没真正看懂? 10/23 20:10
3F:→ hikaru4:噗....好像看懂了 是相加的不会溢到变正? 是这样吗? 10/23 20:11
4F:推 chhsiao:是两个介於 0 - 2^31-1 的正数相加喔! 10/23 21:08







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP