網(wǎng)站建設(shè)模式互聯(lián)網(wǎng)推廣怎么找渠道
計(jì)算機(jī)能力挑戰(zhàn)初賽2020.20題
題目描述:
輸入正整數(shù)A、B、C(0<=A,B,C<=10000),若用'+'、'-'、'*'、'/'、'%'之一組成等式(即A@B=C,@是上述運(yùn)算符之一,),則輸出“YES”,否則輸出“NO”;
輸入:
第一行輸入正整數(shù)N(1<=N<=1000)表示有N組數(shù)據(jù),
其后有N行非零整數(shù)A、B、C。
輸出:
對(duì)于每行整數(shù)A、B、C,其計(jì)算結(jié)果各占一行。
輸入樣例:
5
2 3 6
3 5 1
5 3 1
1 4 1
6 2 7
輸出樣例:
YES
NO
NO
YES
NO
(說(shuō)明:輸入樣例中2*3=6,1%4=1)
題目分析:
初始代碼如下:
#include <stdio.h>int main(void) {int num;scanf("%d", &num);int A;int B;int C;for (int i = 0; i < num; i++) {scanf("%d", &A);scanf("%d", &B);scanf("%d", &C);if (A + B == C || A - B == C || A * B ==C || A / B == C || A % B == C) {printf("YES");}else {printf("NO");}}return 0;
}
運(yùn)行后發(fā)現(xiàn) 5 3 1的輸出結(jié)果為YES,不符題意。
顯然是因?yàn)樵谡晤愋拖?#xff1a;5/3=1。
所以將判定A / B == C修改為B * C == A
最終代碼:
#include <stdio.h>int main(void) {int num;scanf("%d", &num);int A;int B;int C;for (int i = 0; i < num; i++) {scanf("%d", &A);scanf("%d", &B);scanf("%d", &C);if (A + B == C || A - B == C || A * B ==C || C * B == A || A % B == C) {printf("YES\n");}else {printf("NO\n");}}return 0;
}