多个小int的乘法小心溢出哦(记洛谷P1615题WA的经历,Java语言描述)
生活随笔
收集整理的這篇文章主要介紹了
多个小int的乘法小心溢出哦(记洛谷P1615题WA的经历,Java语言描述)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
WAWA大哭
這破題,你還WA~~
又是沒用long,反正這是平時(shí)玩耍,正好長(zhǎng)點(diǎn)經(jīng)驗(yàn),我忍!!
題目要求
P1615題目鏈接
分析
水題~~
簡(jiǎn)便做法——直接拆開時(shí)間,將":"作為split的內(nèi)容,取出各個(gè)時(shí)間減一下,取個(gè)時(shí)間戳(我沒用Calendar啊Date啊那些)……
最后乘起來就OKK
不愧水題,時(shí)間都不會(huì)延續(xù)到另一天,天定的time2>time1,easy!!
WA就是沒用long,不值一提
AC代碼
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String str1 = scanner.nextLine();String str2 = scanner.nextLine();int numPerSecond = scanner.nextInt();scanner.close();String[] strArr1 = str1.split(":");String[] strArr2 = str2.split(":");long hour1 = Integer.parseInt(strArr1[0]);long hour2 = Integer.parseInt(strArr2[0]);long minute1 = Integer.parseInt(strArr1[1]);long minute2 = Integer.parseInt(strArr2[1]);long second1 = Integer.parseInt(strArr1[2]);long second2 = Integer.parseInt(strArr2[2]);long counter = ((hour2-hour1)*3600 + (minute2-minute1)*60 + (second2-second1))*numPerSecond;System.out.println(counter);} }漲漲氣勢(shì):
說明
具體關(guān)于int加起來,乘起來爆掉的問題我后面會(huì)著重提的,總不能白WA這么多次……相信我,我是在積累教訓(xùn) (好吧我菜……) ……
總結(jié)
以上是生活随笔為你收集整理的多个小int的乘法小心溢出哦(记洛谷P1615题WA的经历,Java语言描述)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】Matplotlib使用
- 下一篇: 两分数相乘后约分的Cantor表(洛谷P