我已经在路上了

题目链接                                                                      C : 我已经在路上了

概览 问题列表 状态 排名

Progress Bar

时间限制:1 Sec 内存限制:256 MiB
提交:29 答案正确:6

提交

题目描述

spring是不折不扣的学霸,那可是机房考研中的头号选手,不吹不黑,spring出征,寸草不生

但是这个学霸从来不屑于写简单的东西,因为时间是可贵的,spring喜欢留给B站小姐姐。所以在计算数学求导的时候spring就想出来用编程来完成,这样岂不是美滋滋,正好符合spring高大上的气质

那么问题来了,基础的求导公式那么多,spring只是添加了少许几个原函数,分别为y=C,y=x,y=x^n,y=sinx,y=cosx,y=lnx,y=loga(x),y=e^x,,每次对一个原函数求导,但是学霸spring又觉得这样太简单,所以就决定可以在求导函数中加上常数(正整数,int范围),当然为了平衡难度,常数只能够在x前面,或者函数最前面这两个地方添加(如果两者为同一地点只能添加一次)。

输入

输入形式严格按照上面的函数形式,并且符合常规数学知识,其中C,n,a都是正整数的形式给出,均在int范围。

输出

输出按照样例实现,(拒绝杠精,不接受反驳)不用带有y'=,直接写出求导的结果,占一行。

样例输入

复制

y=sin5x
y=e^2x
y=2log13(8x)

样例输出

复制

5cos5x
2e^2x
2/ln13/x

思路:先找规律再模拟,一定要思路清晰,分清楚情况,比如log和lin,规律就特别明显,如不管有没有前缀数字,后面都是1/x;

代码:

#include
#include
using namespace std;
string str;
int i,size,flag,index;
long long int s,ss,t;
void x()//完成 
{
	if(s==0) cout<<1<>str){
		s=ss=0;
		i=2,flag=1;
		size=str.size();
		if(str[i]>='0'&&str[i]<='9'){//获取前缀数字 
			while(str[i]>='0'&&str[i]<='9'&&size!=i){
				s=s*10+str[i]-'0';
				i++;
			}
			if(i==size) {//如果是常,则会跑到结尾 
				cout<<"0"<

 

你可能感兴趣的:(模拟)