BOJ|10952号
4342 ワード
Pythonプール import sys
while True:
a, b = map(int,sys.stdin.readline().split())
if a + b == 0 :
break
else : print(a + b)
入力では、A、Bは0より大きく、10より小さい整数であるため、和を0とする必要はない.したがって,a = 0, b = 0
,合計0であれば,break
を歩いてwhileゲートを脱出すればよい.
C++プール #include <iostream>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
while (true) {
int A, B;
cin >> A >> B;
if (!(A+B)) break;
cout << A + B << '\n';
}
}
if (!(A+B)) break;
という部分は以前にも説明したように、文の条件部分が真(true
)か偽(false
)かであれば、次の文を実行するかどうかを決定します.if文では、条件にチタン数字がある場合、if文は数字0がfalse
であり、そうでない場合はtrue
であると考えられる.
したがって、if (5)
と呼ぶと0ではないので、true
と認識して条件文を実行する.上記のコードでも分かるように、if (!(A+B))
は、A+Bが数字面(例えば7)の前に!
を付けたため、その意味を否定している.
すなわち、7は入力としてtrue
を返して条件文を実行するが、これはtrue
の否定であるため、false
となり条件文を実行しない.
A+Bが0なら?if (0)
は、if (false)
に等しく、false
の否定となり、条件文が実行される.
A+Bが0(A=0,B=0)の場合、while文を終了し、実行を終了します.
Reference
この問題について(BOJ|10952号), 我々は、より多くの情報をここで見つけました
https://velog.io/@hrpp1300/BOJ-10952번
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
import sys
while True:
a, b = map(int,sys.stdin.readline().split())
if a + b == 0 :
break
else : print(a + b)
#include <iostream>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
while (true) {
int A, B;
cin >> A >> B;
if (!(A+B)) break;
cout << A + B << '\n';
}
}
if (!(A+B)) break;
という部分は以前にも説明したように、文の条件部分が真(true
)か偽(false
)かであれば、次の文を実行するかどうかを決定します.if文では、条件にチタン数字がある場合、if文は数字0がfalse
であり、そうでない場合はtrue
であると考えられる.したがって、
if (5)
と呼ぶと0ではないので、true
と認識して条件文を実行する.上記のコードでも分かるように、if (!(A+B))
は、A+Bが数字面(例えば7)の前に!
を付けたため、その意味を否定している.すなわち、7は入力として
true
を返して条件文を実行するが、これはtrue
の否定であるため、false
となり条件文を実行しない.A+Bが0なら?
if (0)
は、if (false)
に等しく、false
の否定となり、条件文が実行される.A+Bが0(A=0,B=0)の場合、while文を終了し、実行を終了します.
Reference
この問題について(BOJ|10952号), 我々は、より多くの情報をここで見つけました https://velog.io/@hrpp1300/BOJ-10952번テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol