指数函数

习题10-3 递归实现指数函数 (15分)

岁酱吖の 提交于 2020-03-07 09:19:01
本题要求实现一个计算x​n​​(n≥1)的函数。 函数接口定义: double calc_pow( double x, int n ); 函数 calc_pow 应返回 x 的 n 次幂的值。建议用递归实现。题目保证结果在双精度范围内。 裁判测试程序样例: #include <stdio.h> double calc_pow( double x, int n ); int main() { double x; int n; scanf("%lf %d", &x, &n); printf("%.0f\n", calc_pow(x, n)); return 0; } /* 你的代码将被嵌在这里 */ 输入样例: 2 3 输出样例: 8 解答: double calc_pow( double x, int n ){ double res=1; for(int i=1;i<=n;i++){ res*=x; } return res; } 来源: CSDN 作者: youandworld 链接: https://blog.csdn.net/qq_30377869/article/details/104708879

算法设计笔记(七)几类重要的函数

女生的网名这么多〃 提交于 2020-02-28 12:47:32
按增长快慢可以分为三类函数 指数函数,多项式函数,对数函数 1、对数函数 一般关注函数的阶而不关注底数 重要的性质证明 2、指数函数与阶乘 斯特林公式的运用 估计搜索空间大小 3、取整函数 取整函数的性质 例:按阶的大小排序 来源: CSDN 作者: chenxiaoqinghua 链接: https://blog.csdn.net/chenxiaoqinghua/article/details/104551395

6-3 递归实现指数函数 (15分)

我的未来我决定 提交于 2020-02-27 09:47:37
本题要求实现一个计算pow(x,n) (n≥1)的函数。 函数接口定义: double calc_pow( double x, int n ); 函数calc_pow应返回x的n次幂的值。建议用递归实现。题目保证结果在双精度范围内。 裁判测试程序样例: # include <stdio.h> double calc_pow ( double x , int n ) ; int main ( ) { double x ; int n ; scanf ( "%lf %d" , & x , & n ) ; printf ( "%.0f\n" , calc_pow ( x , n ) ) ; return 0 ; } /* 你的代码将被嵌在这里 */ 输入样例: 2 3 输出样例: 8 ans double calc_pow ( double x , int n ) { double res = 1 ; while ( n != 0 ) { if ( n & 1 ) res * = x ; n >>= 1 ; x * = x ; } return res ; } 来源: CSDN 作者: Lopka 链接: https://blog.csdn.net/Lopka/article/details/104526323

多项式指数函数

限于喜欢 提交于 2020-02-01 03:16:11
已知 f ( x ) f(x) f ( x ) ,求 g ( x ) = exp ⁡ ( f ( x ) ) ( m o d x n ) g(x) = \exp(f(x)) \pmod{x^n} g ( x ) = exp ( f ( x ) ) ( m o d x n ) ln ⁡ g ( x ) − f ( x ) = 0 \ln g(x) - f(x) = 0 ln g ( x ) − f ( x ) = 0 直接牛顿迭代 g 1 ( x ) = g 0 ( x ) − ln ⁡ g 0 ( x ) − f ( x ) 1 g 0 ( x ) g_1(x) = g_0(x) - \frac{\ln g_0(x) - f(x)}{\frac 1{g_0(x)}} g 1 ​ ( x ) = g 0 ​ ( x ) − g 0 ​ ( x ) 1 ​ ln g 0 ​ ( x ) − f ( x ) ​ = g 0 ( x ) ( 1 − ln ⁡ g 0 ( x ) + f ( x ) ) =g_0(x)(1-\ln g_0(x)+f(x)) = g 0 ​ ( x ) ( 1 − ln g 0 ​ ( x ) + f ( x ) ) A C C o d e \mathrm {AC\ Code} A C C o d e 1.9 K 1.9K 1 . 9 K 超短代码。 #

递归实现指数函数

梦想的初衷 提交于 2020-01-25 21:40:10
https://pintia.cn/problem-sets/12/problems/353 1 double calc_pow(double x, int n) 2 { 3 double ret; 4 5 if (n == 0) 6 { 7 ret = 1; 8 } 9 else 10 { 11 ret = x * calc_pow(x, n - 1); 12 } 13 14 return ret; 15 } 来源: https://www.cnblogs.com/2018jason/p/12233365.html

多项式指数函数

岁酱吖の 提交于 2020-01-02 08:17:18
给定 \(n-1\) 次多项式 \(A(x)\) ,求一个 \(mod\, x^n\) 下的多项式 \(B(x)\) ,满足 \(B(x)≡e^{A(x)}\) ,系数对 \(998244353\) 取模 一大堆前置姿势: 微积分 多项式对数函数 多项式牛顿迭代 计算 \(F(x)≡e^{A(x)}(mod\, x^n)\) 两边同时取对数得 \(lnF(x)-A(x)≡0 (mod\, x^n)\) 设 \(G(F(x))=lnF(x)-A(x)(mod\, x^n)\) 套一下牛顿迭代公式 \(F(x)=F_0(x)-\frac{G(F(x))}{G'(F_0(x))}(mod\, x^n)\) \(A(x)\) 是给定的常数项,那么 \(G'(x)=G(x)^{-1}\) 可以整理出来 \(F(x)=F_0(x)(1-lnF_0(x)+A(x))(mod\, x^n)\) 然后递归求解,注意边界为 \(F(0)=1\) #include<bits/stdc++.h> using namespace std; namespace red{ #define int long long #define eps (1e-8) inline int read() { int x=0;char ch,f=1; for(ch=getchar();(ch<'0'||ch>'9')&&ch!=

C语言 递归实现指数函数

主宰稳场 提交于 2019-12-29 17:23:13
题目描述 本题要求实现一个计算xn(n≥1)的函数。 函数接口定义: double calc_pow( double x, int n ); 函数calc_pow应返回x的n次幂的值。建议用递归实现。题目保证结果在双精度范围内。 裁判测试程序样例: #include <stdio.h> double calc_pow( double x, int n ); int main() { double x; int n; scanf("%lf %d", &x, &n); printf("%.0f\n", calc_pow(x, n)); return 0; } /* 你的代码将被嵌在这里 */ 输入 题目要求输入x,n(n>=1)输出按题目要求输出xn ,题目保证结果在双精度范围内。 样例输入 Copy 2 3 样例输出 Copy 8 代码 double calc_pow ( double x , int n ) { if ( n == 0 ) return 1 ; else { return x * calc_pow ( x , n = n - 1 ) ; } } 来源: CSDN 作者: Qianzhanshuo 链接: https://blog.csdn.net/Qianzshuo/article/details/103751528

递归实现指数函数

試著忘記壹切 提交于 2019-12-28 14:20:39
#include <stdio.h> double calc_pow( double x, int n ); int main() { double x; int n; scanf("%lf %d", &x, &n); printf("%.0f\n", calc_pow(x, n)); return 0; } double calc_pow( double x, int n ) { double b=1; if(n==1)b=x; else if(n>1)b=x*calc_pow(x,n-1); else return 0; return b; } 来源: CSDN 作者: weixin_45810623 链接: https://blog.csdn.net/weixin_45810623/article/details/103742723

有限长离散变换(DFT)理解

百般思念 提交于 2019-12-11 09:56:28
有限长离散变换(DFT)理解 DTFT与DFT的关系 DTFT与DFT的关系 之前在Signals And Systems里学傅里叶变换时讲到了几种傅里叶变换,留下了DFT放在DSP里深入学习。本质上来说DFT就是DTFT的频域采样过程,也是DSP的关键步骤。可是在学习中还是对DFT很多性质不明白 我们知道计算机能处理的都是离散的值,DTFT中得到的频谱仍然是连续的,因此需要对频谱进行一个采样的过程使之能够被计算机处理。 首先对模拟信号进行采样,对一个以2π为周期的COS函数用适当的冲激串采样后如左图所示,这里采用N=64,采样了两个周期。然后采样了一个指数函数,右图所示。 在查看DFT结果之前,先看看DTFT的结果是什么样的:由DTFT计算公式很容易推出上图,这就是理想情况下使用DFT在频域上采样后应该得到的图形。这里的横坐标应该是一个周期内的w。进行DFT的目的其实就是为了在计算机内能够得到这样一幅曲线,但是实际上DTFT的频谱是连续的,计算机只能逼近DTFT的结果,这就需要DFT对频域进行采样,将连续的频域离散化。 对频域进行采样就有了另外一个问题:频域相乘对应时域卷积,也就是说采样这个过程实际上相当于时域上卷积了一个东西,它可能改变了原有的输入信号,分别以上面两个函数为例。首先是COS函数: 左图N=64,右图N=80。 // DFT MATLAB实现 r = 2 ; N

python绘图

我的未来我决定 提交于 2019-11-27 00:30:58
申明:本人博客为自己学习记录,本文学习内容主要来源以下两篇博客。 https://www.jianshu.com/p/78ba36dddad8 https://blog.csdn.net/lm_is_dc/article/details/81191207 1、基础知识 1.1 库 主要用到的两个库: numpy matplotlib.pyplot 1.2 图形组成标签 图片来源:https://www.jianshu.com/p/78ba36dddad8 几个重要的标签: Figure(图像窗口) :Figure 是包裹 Axes、tiles、legends 等组件的最外层窗口。它其实是一个 Windows 应用窗口。 Axes(轴域/子图) :Axes 是带有数据的图像区域。一个 Figure 中可以有多个子图。 Axis(轴) :X Axis和Y Axis。 1.3 导入库 import numpy as npimport matplotlib.pyplot as plt 2、绘图 2.1 包含单条曲线的图 正比例函数 from matplotlib import pyplot as plt x=[1,2,3,4,5] y=[2,4,6,8,10] plt.figure() # 定义一个图像窗口 plt.plot(x,y) # 绘制曲线 plt.show() #显示图像 结果: