SHOW:
|
|
- or go back to the newest paste.
| 1 | #include <iostream> | |
| 2 | using namespace std; | |
| 3 | ||
| 4 | int main() | |
| 5 | {
| |
| 6 | int in[9]; | |
| 7 | while(cin>>in[0]) | |
| 8 | {
| |
| 9 | for(int i=1;i<9;i++) | |
| 10 | {
| |
| 11 | cin>>in[i]; | |
| 12 | } | |
| 13 | ||
| 14 | bool first=1; | |
| 15 | for(int i=0;i<9;i++) | |
| 16 | {
| |
| 17 | if(in[i]>0) | |
| 18 | {
| |
| 19 | if(!first) | |
| 20 | {
| |
| 21 | cout<<" + "; | |
| 22 | } | |
| 23 | if(in[i]!=1||8-i==0) | |
| 24 | cout<<in[i]; | |
| 25 | if(8-i==1) | |
| 26 | {
| |
| 27 | cout<<"x"; | |
| 28 | } | |
| 29 | else if(8-i!=0) | |
| 30 | {
| |
| 31 | cout<<"x^"<<8-i; | |
| 32 | } | |
| 33 | first=0; | |
| 34 | } | |
| 35 | else if(in[i]<0) | |
| 36 | {
| |
| 37 | if(!first) | |
| 38 | {
| |
| 39 | cout<<" - "; | |
| 40 | } | |
| 41 | else | |
| 42 | {
| |
| 43 | cout<<"-"; | |
| 44 | } | |
| 45 | if(in[i]!=-1||8-i==0) | |
| 46 | cout<<-in[i]; | |
| 47 | if(8-i==1) | |
| 48 | {
| |
| 49 | cout<<"x"; | |
| 50 | } | |
| 51 | else if(8-i!=0) | |
| 52 | {
| |
| 53 | cout<<"x^"<<8-i; | |
| 54 | } | |
| 55 | first=0; | |
| 56 | } | |
| 57 | else if(i==8&&in[8]==0&&first) | |
| 58 | {
| |
| 59 | cout<<"0"; | |
| 60 | } | |
| 61 | } | |
| 62 | cout<<endl; | |
| 63 | } | |
| 64 | } | |
| 65 | ||
| 66 | //給你一個數學多項式的係數,從8次方到0次方。你的任務是把一些不需要的項次拿掉,然後以易讀的格式來輸出。例如:給你 0, 0, 0, 1, 22, -333, 0, 1, -1這9個係數,你應該要產生這樣的輸出: x^5 + 22x^4 - 333x^3 + x - 1 | |
| 67 | //以下是詳細格式的規則: | |
| 68 | //項次必須按降冪出現 | |
| 69 | //指數部分出現在^符號之後 | |
| 70 | //常數項只要出現常數部分就好了,不需有x^0 | |
| 71 | //只有係數非0的項次才需出現。如果所有的係數都是0,那只要輸出常數項就可以了 | |
| 72 | //介於項次之間的+號和-號兩邊各有一空白字元 | |
| 73 | //假如第一項的係數是正的,那麼該係數不需要符號。如果第一項的係數是負的,那該係數必須有-這個符號。例如:-7x^2 + 30x + 66 | |
| 74 | //若係數為負,則以減一個正數來表示(除了上面第6條所提到的第一項之外),而非以加一個負數來表示。例如:x^2 + -3x 這樣的表示法是錯誤的,應該是:x^2 - 3x才對 | |
| 75 | //1或-1,除了常數項之外都不應該出現。例如:-1x^3 + 1x^2 + 3x^1 - 1 這樣的表示法是錯誤的,應該是:-x^3 + x^2 + 3x - 1 才對 | |
| 76 | // | |
| 77 | //輸入說明 | |
| 78 | //每組測試資料一列,含有9個整數(絕對值都小於1000)。串流結束表示測資結束。 | |
| 79 | // | |
| 80 | //輸出說明 | |
| 81 | //對每一組資料,依照上面的規則產生對應的多項式。 | |
| 82 | // | |
| 83 | //範例輸入 | |
| 84 | //0 0 0 1 22 -333 0 1 -1 | |
| 85 | //0 0 0 0 0 0 -55 5 0 | |
| 86 | // | |
| 87 | //範例輸出 | |
| 88 | //x^5 + 22x^4 - 333x^3 + x - 1 | |
| 89 | //-55x^2 + 5x |