Advertisement
wojiaocbj

Untitled

May 27th, 2023
1,070
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.25 KB | None | 0 0
  1.  
  2. #include <stdio.h>
  3. unsigned long long cbjabs(long long a){
  4.     if(a < 0){
  5.         char x[64] = { 0 };
  6.         unsigned long long t;
  7.         sprintf(x, "%lld", a);
  8.         sscanf(x + 1, "%llu", &t);
  9.         return t;
  10.     }
  11.     else{
  12.         return a;
  13.     }
  14.  
  15. }
  16. int main(){
  17.     long long a, b;
  18.     unsigned long long a0, b0;
  19.     char s1 = 0, s2 = 0;
  20.     scanf("%lld%lld", &a, &b);
  21.     if(a < 0){
  22.         s1 = 1;
  23.         a0 = -a;//cbjabs(a);
  24.     }
  25.     else{
  26.         a0 = a;
  27.     }
  28.     if(b < 0){
  29.         s2 = 1;
  30.         b0 = -b;//cbjabs(b);
  31.     }
  32.     else{
  33.         b0 = b;
  34.     }
  35.     if(s1 == 1 && s2 == 1){
  36.         //负 负
  37.         if((a0 + b0 > 9223372036854775808ull) || ((a0 == 9223372036854775808ull) && (b0 == 9223372036854775808ull))){
  38.             puts("NO!");
  39.         }
  40.         else{
  41.             printf("%lld\n", a + b);
  42.         }
  43.     }
  44.     else if(s1 == 0 && s2 == 1){
  45.         //正 负
  46.         printf("%lld\n", a + b);
  47.     }
  48.     else if(s1 == 1 && s2 == 0){
  49.         //负 正
  50.         printf("%lld\n", a + b);
  51.     }
  52.     else{
  53.         //正 正
  54.         if(a0 + b0 > 9223372036854775807ull){
  55.             puts("PO!");
  56.         }
  57.         else{
  58.             printf("%lld\n", a + b);
  59.         }
  60.     }
  61.  
  62.     return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement