bool isnumber(char s)bool isletter(char s)
//函式的作用是把如「-45+2*a-a^2-4*a^6+a^8」這樣的字串提取成這樣:(-45,2,-1,0,0,0,-4,0,1),只提取係數,並根據指數安排起位置.
//s為傳入的字串,result為處理後的一組數,返回這組數的個數
//恩,我需要這樣的乙個函式
int fenxi(string &s,double **result)
if (s.length() == 1 &&isletter(s[0])) //
處理為「a」的情況
if (s.length() ==2 &&isletter(s[1])) //
處理為『-a』的情況
for (int i=0;iif (isletter(s[i]))
}if (letter == 0) //
處理全為數字的情況,正負均可
letter=0;
if (s[0] == '
-') //
判斷最初的運算子正負號,這是為負號的情況
else
//以乙個字元不是『-』時,是數字或字母,都判斷為正號
}for (int i = 0; i < s.length(); i++)
}else
}letter++;
if (i != 0)
if (s[i-1] == '-')
}if (i == 0) //
如果第乙個為字母的話,那這個字母的係數肯定是+1
}if (isnumber(s[i]))
front--;
list[front] = (double)(s[i] - 48); //
將ascii字元-48就變為數字了
}if (s[i] == '+')
if (letter == 0) //
後面多次有這個,主要是把list佇列中儲存的單個數逐次取出並合成num中或pow中的數
num[dijige_num] = num[dijige_num] * op[pin-1]; //
存入num中的數還需要判斷正負號,就用op存的數判斷
dijige_num++;
tail = (int)(s.length() / 2);
front = tail;}}
else
dijige_pow++;
tail = (int)(s.length() / 2);
front = tail;
}
}
if (i != 0)
}if (s[i] == '-')
if (letter == 0)
num[dijige_num] = num[dijige_num] * op[pin-1];
dijige_num++;
tail = (int)(s.length()/2);
front = tail;}}
else
dijige_pow++;
tail = (int)(s.length() / 2);
front = tail;}}
if (i != 0)
}if (s[i] == '*')
if (front != tail) //
'*'號之前一般是num吧,一般不會是冪指數吧 ,如「1+2*a^2+34*a^5」,"*"好像都是係數
num[dijige_num] = op[pin-1] * num[dijige_num];
dijige_num++;
tail = (int)(s.length() / 2);
front = tail;}}
}while (tail != front) //
把最後乙個冪指數新增入pow中
end:
dijige_pow++;
int res_num = pow[dijige_pow-1] + 1; //
最終陣列中的數的個數
/*for (int i=0;i
*/double *temp = new
double[res_num];
*result = new
double[res_num]; //
最終要輸出的資料
for (int i = 0; i < res_num; i++)
for (int i = 0; i < dijige_pow; i++) //
以pow中的數來定位,把num中的數新增到result中相應的位置
/*cout<
*/*result=temp;
return res_num;
}
python 多項式求係數 多項式係數的計算
def evalpoly lst,x total 0 for power,coeff in enumerate lst starts at 0 by default total x power coeff return total 或者,可以使用列表,然後使用sum def evalpoly lst...
計算多項式係數
題目描述 給定乙個多項式 ax by k ax by k ax by k,求a nb ma nb m anbm 係數輸入格式 共一行,包含5個整數,分別為a,b,k,n,m每兩個整數之間用乙個空格隔開.輸出格式 出共1行,包含乙個整數,表示所求的係數,這個係數可能很大,輸出對1000000007取模...
計算多項式的係數
給定乙個多項式 a x by k ax by k,計算多項式展開後 xn ymx ny m項的係數。input 第 1 行 乙個整數 t 1 t 100000 為問題數。接下來共 t 行。每行 5 個整數,分別為 a,b,k,n,m,整數之間由乙個空格分隔。0 k 1,000,000,0 n,m k...