#include <stdio.h> #include <stdint.h> void add_with_carry(uint8_t a, uint8_t b, uint8_t* result, uint8_t* carry) { // Your logic here int carr =0; int tempcarr = a; while (b != 0) { carr = ((a & b) << 1); // carry bits a = a ^ b; // sum without carry b = carr; } *result = a; //printf("%d\n",a); if(*result < tempcarr ) { *carry = 1; } else { *carry =0; } } int main() { uint8_t a, b, result, carry; scanf("%hhu %hhu", &a, &b); add_with_carry(a, b, &result, &carry); printf("%u ", result); printf("%u", carry); return 0; }
Test Cases
Test Results
Input
100 50
Expected Output
150 0