第149回【Python】整数の足し算、足すか掛けるか

現在取り組んでいるのは、paiza ラーニング問題集「B ランクレベルアップメニュー」になります。

はじめに

猫とキャンプと野球観戦と AWS が大好きな旦那、LeoSaki です。モフモフしたい。

Python をゼロから勉強してみよう、のコーナー 149 回目です。

チャットツールの利用が増えたからといっても、メールはどうしてもなくならないものです。メールを使ったことがない最近の子たちにメールの作法を教えるのは骨が折れます。知らない人に「いつもお世話になっております。」を書く理由を聞かれるのも、デフォルトです。それくらい知っておいて欲しいと思うのは、LeoSaki(旦那)がもう若くないということなのですかねぇ。

それでは、今日も頑張ってみようと思います。

整数の足し算 (paizaランク D 相当)

スペース区切りの2つの整数が入力されるので、それらを足して出力してください。

a b

期待する出力

a と b を足した値を出力してください。
最後は改行し、余計な文字、空行を含んではいけません。


すべてのテストケースにおいて、以下の条件をみたします。

-100,000 ≦ a ≦ 100,000
-100,000 ≦ b ≦ 100,000


入力例

1 2

出力例

3

型を意識する癖をつけるには、VBA で「Option Explicit」をつけてやればいいと思うの。

Python
ab = input().split()
ans = 0
for v in ab:
    ans += int(v)
print(ans)
Python(別解)
a,b = map(int,input().split())
print(a + b)
VBA
Sub total_value_3()

    AB = Split(Cells(1, 1), " ")
    
    ans = 0
    For Each v In AB
        ans = ans + Int(v)
    Next
    
    Debug.Print ans
    
End Sub

足すか掛けるか (paizaランク C 相当)

2つの整数の組がn個与えられるので、各組の計算結果を足し合わせたものを出力してください。
各組の計算結果は次の値です。
・2つの整数の組を足し合わせたもの
・ただし、2つの整数が同じ値だった場合は、掛け合わせたもの

n
a_1 b_1
...
a_n b_n

nは与えられる整数の組の行数です。
a_iとb_iはそれぞれが整数です。


期待する出力

各行の計算結果を足し合わせた値を出力してください。
最後は改行し、余計な文字、空行を含んではいけません。


すべてのテストケースにおいて、以下の条件をみたします。

1 ≦ n ≦ 50
-100,000 ≦ a_n ≦ 100,000
-100,000 ≦ b_n ≦ 100,000


入力例

5
2 1
3 6
4 2
4 4
4 70

出力例

108

最大で 100 億の桁まで(全部が最大の組み合わせだと、1000 億の桁まで)あり得る。Python は平気だけれど、VBA は LongLong 型でしか扱えず、64 bit 版の Office でしか取り扱いができない。

Python
n = int(input())
ans = 0
for _ in range(n):
    a,b = map(int,input().split())
    if a == b:
        ans += a * b
    else:
        ans += a + b
print(ans)
VBA
Sub total_value_9()

    N = Cells(1, 1)
    
    ans = 0
    For i = 1 To N
        AB = Split(Cells(i + 1, 1), " ")
        a = Val(AB(0))
        b = Val(AB(1))
        If a = b Then
            ans = ans + a * b
        Else
            ans = ans + a + b
        End If
    Next
    
    Debug.Print ans
    
End Sub

最後に

1000 億の桁の計算が物理的に難しいのはしょうがないとして、LongLong 型は知りませんでした。勉強不足。

ちなみに、エクセルの「ファイル→アカウント→ Excel のバージョン情報」で、何 bit か確認することができます。ご利用のエクセルが 64 bit であれば、LongLong 型を試してみてください。

引き続き、よろしくお願いいたします!

Python学習,Python,paiza

Posted by LeoSaki