题目1179:阶乘-------------阶乘不用long long int 就不能AC

AC的代码:

#include<iostream>
using namespace std;
long long int fact(int m);
int main()
{
  int n;
  while(cin>>n)
  {
    long long int sum1=0,sum2=0;
      if (n==0) break;
      int m,p;
      if (n%2==0)//n为偶数 
      {
          p=n;m=n-1;
      }
      else //n为奇数 
      {
          m=n;p=n-1; 
      //    if (p==0) break;
      }
      
      int i,j;
      for (i=1;i<m+1;i=i+2)
           sum1+=fact(i);
      for (j=2;j<p+1;j=j+2)
        sum2+=fact(j);
    cout<<sum1<<" "<<sum2<<endl;     
  }    
  return 0;
}
long long int fact(int m)
{
    if (m==1) return 1;
    else return m*fact(m-1);
}

 

posted @ 2017-03-01 17:56  贱人郭  阅读(270)  评论(0)    收藏  举报