#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
uint8_t total_diff = 0;
uint8_t diff_a = 0, diff_b = 0;
*carry = 0;
if(a > b){
diff_a = 255 - a; //255 - 200 = 55
if(diff_a <= b) // 55 <= 100
{
*carry = 1;
}
}else {
diff_a = 255 - b;
if(diff_a <= a)
{
*carry = 1;
}
}
*result = a + b;
}
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;
}
Input
100 50
Expected Output
150 0