2023年3月22日matlab刷题

一、歌德巴赫猜想相关问题: 10000 以内

(1) 有多少素数?

(2) 大偶数分解成两素数之和,在不计分解次序的条件下,分解表达式唯一的有多少个?

注: 分解表达式,14=7+7=3+11不唯一,8=5+3 唯一

% 判断一个数是否是素数
function [result] = isPrime(n)
    if n <= 1
        result = false;
        return;
    end
    for i = 2:sqrt(n)
        if mod(n, i) == 0
            result = false;
            return;
        end
    end
    result = true;
end

% 构建素数表
prime_table = [];
for i = 2:10000
    if isPrime(i)
        prime_table = [prime_table i];
    end
end

% 统计10000以内的素数个数
num_primes = length(prime_table);
disp(['10000以内有' num2str(num_primes) '个素数。']);

% 统计10000以内的偶数可以表示成两个素数之和的个数
num_decompositions = 0;
for n = 4:2:10000
    for i = 1:num_primes
        if prime_table(i) > n/2 % 如果一个素数大于n的一半,则不可能分解成两个素数之和
            break;
        end
        if ismember(n - prime_table(i), prime_table) % 判断另一个数是否为素数
            num_decompositions = num_decompositions + 1;
            break;
        end
    end
end
disp(['10000以内有' num2str(num_decompositions) '个大偶数可以分解成两个素数之和。']);

二、小明向银行贷款: 贷款 2 万,年利率 0.055,2 年还清。问

(1) 按月等额本金还款,小明每个月还款多少?

(2) 按月等额本息还款,小明每个月还款多少?

% 贷款计算示例
% 假设贷款2万,年利率0.055,借款时间为2年
% 设置贷款基本信息
total_loan = 20000; % 总贷款金额
annual_rate = 0.055; % 年利率
duration_year = 2; % 贷款年限(单位:年)
duration_month = duration_year * 12; % 贷款年限(单位:月)
monthly_rate = annual_rate / 12; % 月利率

% 等额本息计算
xi = (total_loan * monthly_rate * (1 + monthly_rate) ^ duration_month) / ((1 + monthly_rate) ^ duration_month - 1);
monthly_payment_xi = xi; % 计算出来的每月还款额
total_payment_xi = xi * duration_month; % 计算出来还款总额
interest_xi = total_payment_xi - total_loan; % 计算出来的还款总利息

% 等额本金计算
monthly_payment_bj = total_loan / duration_month + total_loan * monthly_rate; % 先算出第一个月还款额
total_payment_bj = 0;
interest_bj = 0;
for i = 1:duration_month
    % 计算每个月还款额
    monthly_payment_bj = monthly_payment_bj - (total_loan / duration_month) * monthly_rate;
    total_payment_bj = total_payment_bj + monthly_payment_bj;
    interest_bj = interest_bj + total_loan / duration_month * monthly_rate; % 计算总利息
end

% 输出结果
fprintf('等额本息方式',xi):

%输入贷款金额、年利率、还款年限
amount = input("请输入贷款金额(单位:元):");
rate = input("请输入年利率(例如,0.055 表示 5.5%):");
years = input("请输入还款年限(例如,2 表示 2 年):");

%计算还款月数、每月利率、等额本金每月偿还金额、等额本息每月偿还金额
months = years * 12;
monthRate = rate / 12;
pmtBP = amount / months + amount * monthRate;
pmtEP = amount * monthRate * (1 + monthRate)^months / ((1 + monthRate)^months - 1);

%输出结果
disp("贷款信息:");
disp("贷款金额:" + amount + " 元");
disp("年利率:" + rate*100 + "%");
disp("还款年限:" + years + " 年");
disp("还款月数:" + months + " 个月");
disp("每月利率:" + monthRate*100 + "%");

disp("等额本金还款方式:");
disp("每月偿还金额:" + pmtBP + " 元");

disp("等额本息还款方式:");
disp("每月偿还金额:" + pmtEP + " 元");

三、李总向某钱庄借款 100 万元,钱庄要求李总按月等额本息还款,每月还款3 万元,5 年还清,不考虑手续费,问:(1)李总借款的年利率是多少?(2) 2 年零3个月时,李总获得一笔大额资金可以用来还款,此时,李总次性还款额为多少?

% 计算等额本息每月还款额
P = 1000000; % 借款本金
n = 60; % 还款月数
r = 0.05 / 12; % 月利率
M = P * r * (1 + r)^n / ((1 + r)^n - 1); % 每月还款额
fprintf("每月还款额为%.2f元\n", M);

% 计算2年零3个月后次性还款额
t = 33; % 剩余还款期数
A = P * (1 + r)^t - M * ((1 + r)^t - 1) / r; % 次性还款额
fprintf("2年零3个月后次性还款额为%.2f元\n", A);
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值