信息学奥赛一本通 1036:A×B问题 | OpenJudge NOI 1.3 19
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通 1036:A×B问题 | OpenJudge NOI 1.3 19
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
【題目鏈接】
ybt 1036:A×B問(wèn)題
OpenJudge NOI 1.3 19:A*B問(wèn)題
【題目考點(diǎn)】
1. 不同整型數(shù)據(jù)的范圍
| char | 1 | -127~128 |
| short | 2 | -32,768~32,767 |
| unsigned short | 2 | 0~65,535 |
| int | 4 | -2,147,483,648~2,147,483,647 |
| unsigned int | 4 | 0~4,294,967,295 |
| long long | 8 | -9,223,372,036,854,775,808~9,223,372,036,854,775,807 |
| unsigned long long | 8 | 0~18,446,744,073,709,551,615 |
2. 整型變量的格式控制符
字符含義:h:短整型 l:長(zhǎng)整形 u:無(wú)符號(hào)
| short | hd |
| unsigned short | hu |
| int | d |
| unsigned int | u |
| long long | lld |
| unsigned long long | llu |
【解題思路】
觀察變量范圍,A,B滿足:1 <= A,B <= 50000。
如果A,B都取50000,相乘得到2500000000,超出了int型可以表示的數(shù)字范圍
可以用unsigned int或long long類型聲明變量,進(jìn)行計(jì)算
注:unsigned int 可以簡(jiǎn)寫為 unsigned
【題解代碼】
解法1:聲明unsigned int類型變量
#include <bits/stdc++.h> using namespace std; int main() {unsigned int a, b;scanf("%u %u", &a, &b);printf("%u", a * b);return 0; }解法2:聲明long long類型變量
#include <bits/stdc++.h> using namespace std; int main() {long long a, b;scanf("%lld %lld", &a, &b);printf("%lld", a * b);return 0; }解法3:使用cin,cout輸入輸出
#include<bits/stdc++.h> using namespace std; int main() {long long a, b;//或聲明為unsigned intcin>>a>>b;cout<<a*b;return 0; }總結(jié)
以上是生活随笔為你收集整理的信息学奥赛一本通 1036:A×B问题 | OpenJudge NOI 1.3 19的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 信息学奥赛一本通(1091:求阶乘的和)
- 下一篇: 信息学奥赛一本通(1308:【例1.5】