第十四 算数运算

算数运算

rust 复制代码
use std::f64::consts::{PI, E};
fn main() {
    let x = 11;
    let y = 2;
    let z = -31;
    let r : f64 = 2.0;
    println!("{}", x + y); 
    println!("{}", x - y); 
    println!("{}", x * y); 
    println!("{}", x / y); 
    println!("{}", x % y); 
    println!("{}", z % x); 
    println!("{}", PI * r.powi(2));
    println!("{}", 4096_f64.log2());
    println!("{}", 4096_f64.log10());

    //高考真题: a = 0.1e^0.1 , b = 1/9 , c = -ln(0.9),求三者的大小关系
    //正确答案:c < a < b
    println!("{}", 0.1 * E.powf(0.1));
    println!("{}", 1.0_f64 / 9.0_f64);
    println!("{}", -(0.9_f64).ln());
    
}

三角函数,反三角函数

rust 复制代码
use std::f64::consts::PI;

fn main() {
    // 弧度
    let x: f64 = PI / 2.0;
    println!("{}", f64::sin(PI)); 
    println!("{}", x.sin()); 
    println!("{}", x.cos()); 
    println!("{}", x.tan());
    println!("{}", (PI / 4.0).tan());
    // 计算 30 度 (π/6 弧度) 的正弦值
    let angle_deg = 30.0_f64;
    // 转换为弧度
    let angle_rad = angle_deg.to_radians(); 
    let sin_val = angle_rad.sin();
    println!("sin(30°) = {}", sin_val);
    println!("sin(60°) = {}", 60.0_f64.to_radians().sin());

    // 验证 tan(x) 是否等于 sin(x) / cos(x)
    let x = 6.0_f64;
    let tan_direct = x.tan();
    let tan_computed = x.sin() / x.cos();
    assert_eq!(tan_direct, tan_computed);

    //勾三股四弦五,求勾所对应的角度是多少?
    //sin(x) = 3/5,求对应的角度x
    let x = 0.6_f64;
    let theta = x.asin();
    let theta_deg = theta * 180.0 / PI;
    println!("弧度 = {} ,角度 = {}", theta, theta_deg);
}

20以内所有阶乘

rust 复制代码
fn factorial_checked(n: u64) -> Option<u64> {
    (2..=n).try_fold(1u64, |acc: u64, x: u64| {
        let acc = acc.checked_mul(x)?;
        Some(acc)
    })
}

fn main() {
    // 使用示例
    for i in 2..=20 {
            match factorial_checked(i) {
                Some(result) => println!("{}! = {}", i, result),
                None => println!("计算溢出"),
            }
    }
}

例子

高考真题: a = 0.1e^0.1 , b = 1/9 , c = -ln(0.9),求三者的大小关系

正确答案:c < a < b

求证:

\\boldsymbol{-\\ln(1-x) \< x e\^x \< \\frac{x}{1-x},\\quad x\\to0\^+,\\;0\

分两段证明:\\boldsymbol{-\\ln(1-x)\、\\boldsymbol{xe\^x\<\\dfrac{x}{1-x}}。

一、先证右侧:\\boldsymbol{xe\^x \< \\dfrac{x}{1-x}\\ (0\

x\>0,两边同除以x等价于:

e\^x \< \\frac1{1-x}\\iff e\^x(1-x)\<1

设

F(x)=e\^x(1-x)-1,\\quad F(0)=e\^0\\cdot1-1=0

求导:

F'(x)=e\^x(1-x)-e\^x=-x e\^x\<0,\\quad x\>0

F(x)在x\>0严格递减\\Rightarrow F(x)\,即

e\^x(1-x)\<1\\Rightarrow e\^x\<\\frac1{1-x}\\Rightarrow xe\^x\<\\frac{x}{1-x}.

✅ 右半不等式成立。

二、再证左侧:\\boldsymbol{-\\ln(1-x)\

变形:

xe\^x+\\ln(1-x)\>0

构造

G(x)=xe\^x+\\ln(1-x),\\quad G(0)=0+\\ln1=0

求一阶导:

G'(x)=e\^x+xe\^x-\\frac1{1-x}=e\^x(1+x)-\\frac1{1-x}

G'(0)=1\\cdot1-1=0

再求二阶导:

G''(x)=e\^x(1+x)+e\^x-\\frac1{(1-x)\^2}=e\^x(x+2)-\\frac1{(1-x)\^2}

G''(0)=2-1=1\>0。

由**泰勒展开(x\\to0\^+)**辅助验证:

-\\ln(1-x)=x+\\frac{x\^2}{2}+\\frac{x\^3}{3}+\\frac{x\^4}{4}+\\cdots

xe\^x=x\\left(1+x+\\frac{x\^2}{2}+\\frac{x\^3}{6}+\\cdots\\right)=x+x\^2+\\frac{x\^3}{2}+\\frac{x\^4}{6}+\\cdots

逐项比较,故小正数x:-\\ln(1-x)\。

从导数单调性:G'(0)=0,G''(0)\>0\\Rightarrow x\\to0\^+ 时G'(x)\>0,G(x)\\nearrow \\Rightarrow G(x)\>G(0)=0,

xe\^x+\\ln(1-x)\>0\\iff -\\ln(1-x)\

✅ 左半不等式成立。

三、合并结论

\\boldsymbol{-\\ln(1-x) \< x e\^x \< \\frac{x}{1-x},\\quad x\\to0\^+,\\;0\

补充:三者等价无穷小( x \\to 0\^+ )

三者是**同阶等价无穷小**,只是从低到高:

-\\ln(1-x)\。

相关推荐
CCIE-Yasuo4 分钟前
网络安全-学习web开发-列表、标签
前端·学习·web安全
熊猫钓鱼>_>4 分钟前
鸿蒙 PC 三方库适配复盘:libfvad 1.0 —— 把 WebRTC VAD 做成能装进采集链路的静态库
服务器·开发语言·华为·harmonyos·openharmony·适配·鸿蒙pc
小大宇8 分钟前
Vue知识点-ElementPlus-06 单选+多选+下拉+日期选择
前端·vue.js·elementui
用户114818678948410 分钟前
Nuxt 3 学习版 Demo:跟着做一遍,从跑起来到自己会改
前端
用户83514140494911 分钟前
把日志和寄存器值喂给AI做故障定位,我的实际问法
linux·ubuntu
hiahiahia12333 分钟前
Streaming Model Output
开发语言·前端
paopaokaka_luck34 分钟前
基于springboot+vue的益暖微光公益服务平台(DeepSeek公益助手、善款信息追溯、志愿服务积分闭环、ECharts运营分析、活动状态自动流转)
java·前端·javascript·spring boot·mysql·架构·echarts
Ruiery35 分钟前
Linux 6.6内核内存管理深度解析(十七):vmalloc — 内核要“虚拟连续“就够:物理页逐个凑,页表来连
linux·运维·服务器
Escalating_xu41 分钟前
【Linux 网络编程】ARP 的具体过程与 ARP 欺骗:一条 IP → MAC 映射,怎样改变数据的去向?
linux·网络·tcp/ip
栀椩44 分钟前
Electron 内嵌页面跨域问题(CORS/PNA)解决全记录
前端·javascript·electron