有這樣乙個表示式:x1 / x2 / x3/... /xn,n個正整數相除。對於表示式1/2/1/2 = 1/4。如果加入括號(1/2) / (1/2) = 1。要求:先輸入n,表示有n個數相除,然後輸入n個正整數,程式設計判斷是否可以通過新增括號,使表示式的值為整數。n <= 10000,xi <= 10 ^ 9。
分析:可以發現x2一直是分母,而其它數都可以為分子。所以只要判斷除x2外的其它數相乘能否整數x2就可以了,**如下:
#include int n;
int divisor(int a,int b)//求兩個數的最大公約數
int fun(int x)//判斷
return x[2] == 1;
}int main()
if (fun(x))
printf("可以\n");
else
printf("不可以\n");
return 0;
}
表示式求值問題之表示式樹
include include include include define m 1005 define clr arr,now memset arr,now,sizeof arr using namespace std stackshu typedef struct node tire,t cha...
表示式 表示式樹 表示式求值
總時間限制 1000ms 記憶體限制 65535kb 描述 眾所周知,任何乙個表示式,都可以用一棵表示式樹來表示。例如,表示式a b c,可以表示為如下的表示式樹 a b c 現在,給你乙個中綴表示式,這個中綴表示式用變數來表示 不含數字 請你將這個中綴表示式用表示式二叉樹的形式輸出出來。輸入輸入分...
表示式求值問題
這是清華大學鄧俊輝資料結構 c 中的乙個案例,通過使用棧這種資料結構,完成了較為複雜的表示式求值問題,以下 是我整理改編而成,能夠完成加減乘除,乘方 階乘的運算,以及括號的處理。在這裡,我使用到了c stl 中的容器stack。include include include include incl...