A1063. 求导函数的值
时间限制:
1.0s 内存限制:
512.0MB
问题描述
相信大家对微积分都有很深的印象吧,这次的任务就是对一个多项式 计算出它在x=x0点处的导函数值。
输入格式
输入共三行:
第一行输入该多项式的最高次数n;
第二行输入x0 ;
第三行从最低位开始依次输入ai,表示xi的系数,如当n=2时,a=[0,1,2]就代表2x^2+x 这个多项式。
n<=100, 0<=ai<=9999, -9999<=x0<=9999
第一行输入该多项式的最高次数n;
第二行输入x0 ;
第三行从最低位开始依次输入ai,表示xi的系数,如当n=2时,a=[0,1,2]就代表2x^2+x 这个多项式。
n<=100, 0<=ai<=9999, -9999<=x0<=9999
输出格式
输出共一行:
第一行输出导函数在x=x0点处的导函数值,考虑到该值可能十分巨大,只需要输出最后mod 9999的结果即可。
第一行输出导函数在x=x0点处的导函数值,考虑到该值可能十分巨大,只需要输出最后mod 9999的结果即可。
样例输入
2 0 0 1 2
样例输出
1
- #include <stdio.h>
- #include <stdlib.h>
- int main(){
- int n,c;
- while(scanf("%d\n%d",&n,&c)!=EOF){
- int ans=0,x[101];
- for(int i=0;i<=n;i++)
- scanf("%d",&x[i]);
- for(int i=1;i<=n;i++)
- {
- int tmp=1;
- for(int j=1;j<i;j++)
- tmp=(tmp*c)%9999;
- ans=(ans+(x[i]*tmp)%9999*i)%9999;
- }
- printf("%d\n",(ans+9999)%9999);
- }
- system("pause");
- return 0;
- }