奥数与C++小学三年级(第十一题-除数被除数)

代码1

#include <iostream>  
  
int main() {  
    int divisor, dividend;  
      
    // 根据题目条件,商是7,余数是5  
    // 被除数 = 除数 * 商 + 余数  
    // 4倍后的被除数 = 4 * (除数 * 7 + 5)  
    // 4倍后的除数 = 4 * 除数  
    // 商不变,仍为7  
    // 余数变为4 * 5 = 20  
      
    // 遍历可能的除数,找到满足条件的被除数  
    for (divisor = 1; divisor <= 1000; ++divisor) {  
        dividend = divisor * 7 + 5;  
        int new_dividend = 4 * dividend;  
        int new_divisor = 4 * divisor;  
          
        // 检查条件是否满足  
        if ((new_dividend + new_divisor + 7 + 20) == 1039) {  
            std::cout << "原来的被除数: " << dividend << std::endl;  
            std::cout << "原来的除数: " << divisor << std::endl;  
            break;  
        }  
    }  
  
    return 0;  
}

代码2

#include <iostream>  
int main() {  
    // 根据题目条件,被除数和除数都扩大到原来的4倍后  
    // 它们的和(不包括商和余数)加上商和扩大后的余数等于1039  
    // 商不变,仍为7  
    // 余数扩大为原来的4倍,即20  
    // 所以先计算被除数和除数的和(不包括商和余数)  
    int sum_without_quotient_and_remainder = 1039 - 7 - 20;  
      
    // 此时被除数比除数的7倍大20  
    // 所以 (被除数 - 20) 是除数的7倍  
    // 即 (被除数 - 20) = 除数 * 7  
    // 又因为被除数 = 除数 * 7 + 5(根据题目条件)  
    // 所以我们可以将这两个等式联立起来求解  
    // 但由于被除数和除数都扩大了4倍,我们需要先找到扩大后的除数  
    // 扩大后的被除数 = 4 * (除数 * 7 + 5)  
    // 扩大后的除数我们设为 x  
    // 则扩大后的被除数 = 7x + 20  
    // 根据上面的和,我们有:7x + 20 + x = sum_without_quotient_and_remainder  
    // 即 8x = sum_without_quotient_and_remainder - 20  
    // 所以 x = (sum_without_quotient_and_remainder - 20) / 8  
      
    int expanded_divisor = (sum_without_quotient_and_remainder - 20) / 8;  
      
    // 原来的除数是扩大后的除数除以4  
    int original_divisor = expanded_divisor / 4;  
      
    // 原来的被除数可以用原来的除数来计算  
    int original_dividend = original_divisor * 7 + 5;  
      
    // 输出结果  
    std::cout << "原来的被除数: " << original_dividend << std::endl;  
    std::cout << "原来的除数: " << original_divisor << std::endl;  
      
    return 0;  
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值