3.25

3.25

 

 

 1 #include<stdio.h>
 2 typedef struct{
 3     int element[50];
 4     int top;
 5 }Stack;
 6 void Init(Stack*S)
 7 {
 8     S->top=-1;
 9 }
10 void Push(Stack*S,int n)
11 {
12     S->element[++S->top]=n;
13 }
14 int Pop(Stack*S)
15 {
16     int e;
17     e=S->element[S->top--];
18     return e;
19 }
20 int Fn(int n)
21 {
22     Stack T;
23     int result=1;
24     int e;
25     Init(&T);
26     Push(&T,n);
27     while(T.top!=-1)
28     {
29         e=Pop(&T);
30         if(e)
31         {
32             result=result*e;
33             Push(&T,e/2);
34         }
35     }
36     return result;
37 }
38 int main()
39 {
40     int n;
41     scanf("%d",&n);
42     printf("%d",Fn(n));
43     return 0;
44 }

 

上一篇:顺序栈的实现


下一篇:图解Java Stack栈