import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main{ public static void main(String[] args) throws NumberFormatException, IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String line = null; Main m = new Main(); while ((line = br.readLine()) != null) { int number = Integer.parseInt(line); m.factorial(number); } } public void factorial(int n){ int temp,sum1,sum2; temp = 1; sum1 = 0; sum2 = 0; for(int i = 1; i <= n; i++){ temp *= i; if(i % 2 == 1){ sum1 += temp; }else{ sum2 += temp; } } System.out.println(sum1 + " " + sum2); } }
import java.util.*; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int n = sc.nextInt(); int y1=0, y2=0; for(int i=2;i<=n;i=i+2){ y2+=f(i); } for(int i=1;i<=n;i=i+2){ y1+=f(i); } System.out.println(y1+" "+y2); } } public static int f(int n){ if(n==0) return 1; if(n==1) return 1; return f(n-1)*n; } }
import java.util.Scanner; public class test { public static void main(String[] args) { Scanner in = new Scanner(System.in); while(in.hasNext()){ int x = in.nextInt(); pro(x); } } private static void pro(int x) { int y1 = 0,y2 = 0; int temp = 1; for(int i = 1;i<=x;i++){ if(i%2!=0){//奇数 y1+=temp*i; }else{ y2+=temp*i; } temp = temp*i; } System.out.println(y1+" "+y2); } }
#include <stdio.h> int table[50]={1,1}; int ***(int n){ if(table[n]==0) table[n]=n****(n-1); return table[n]; } int main(){ int n; while(~scanf("%d",&n)){ int y1=0,y2=0; for(int i=1; i <= n;i += 2) y1 += ***(i); for(int i=2; i <= n;i += 2) y2 += ***(i); printf("%d %d\n",y1,y2); } return 0; }
/* *题目也没说清除数据规模,差点模拟高精度。 */ #include<bits/stdc++.h> #define ll long long using namespace std; int n; void getFacts(ll& ans1, ll& ans2) { ans1 = ans2 = 0; int ans = 1; for(int i = 1;i <= n; i++) { ans *= i; if(i & 1) ans1 += ans; else ans2 += ans; } } int main() { ios::sync_with_stdio(false); while(cin >> n) { ll ans1, ans2; getFacts(ans1, ans2); cout << ans1 << ' ' << ans2 << '\n'; } return 0; }
#include <iostream> #include <vector> using namespace std; vector<int> res(1000,-1); int Cal(int i){ if(res[i]!=-1) return res[i]; else return res[i]=Cal(i-1)*i; } int main(){ res[0]=1; res[1]=1; int n; while(cin>>n){ int y1=0,y2=0; for(int i=1;i<=n;i+=2) y1+=Cal(i); for(int i=2;i<=n;i+=2) y2+=Cal(i); cout<<y1<<' '<<y2<<endl; } return 0; }
#include<stdio.h> int main() { int i,j,ji,ou,sumji=0,sumou=0,n; scanf("%d",&n); for(i=1;i<=n;i+=2)//奇数阶乘从1开始 { ji=1;//初始化 for(j=1;j<=i;j++) ji*=j;//1!或3! sumji+=ji;//1!+3! } for(i=2;i<=n;i+=2)//偶数阶乘从2开始 { ou=1;//初始化 for(j=1;j<=i;j++) ou*=j; sumou+=ou; } printf("%d %d\n",sumji,sumou); }
#include<stdio.h> int factorial(int n){ int dp[n+1]; dp[1] = 1; for(int i=2;i<=n;i++) dp[i] = i*dp[i-1]; return dp[n]; } int y1(int n){ int sum = 0; int m = 1; while(m<=n){ sum += factorial(m); m += 2; } return sum; } int y2(int n){ int sum = 0; int p = 2; while(p<=n){ sum += factorial(p); p += 2; } return sum; } int main(){ int n; while(scanf("%d",&n)!=EOF) printf("%d %d\n",y1(n),y2(n)); return 0; }
int mul(int a,int n,int m) //求阶乘
{
int i,j,k,x,y;
i=1;
a[1]=1;
for(j=2;j<=m;j++)
{
for(k=1;k<=i;k++)
a[k]=a[k]j;
for(k=1;k<=i;k++)
{
if(a[k]>=10)
{
x=a[k]/10;
y=a[k]%10;
a[k]=y;
a[k+1]=a[k+1]+x;
if(k==i)
i++;
}
}
}
return i;
}
int main()
{
int n,len1;
while(scanf("%d",&n)!=EOF)
{
int a[5000],b[5000];
int i,j,x,y;
memset(b, 0, sizeof(b));
for(i=1;i<=n;i+=2)
{
memset(a, 0, sizeof(a));
len1=mul(a,5000,i);
for(j=1;j<=len1;j++)
{
b[j]=a[j]+b[j];
if(b[j]>=10)
{
x=b[j]/10;
y=b[j]%10;
b[j]=y;
b[j+1]=b[j+1]+x;
}
}
}
for(j=len1+1;j>=1;j--)
{
if(j==len1+1&&b[j]!=0)
printf("%d",b[j]);
if(j!=len1+1)
printf("%d",b[j]);
}
printf(" ");
memset(b, 0, sizeof(b));
for(i=2;i<=n;i+=2)
{
memset(a, 0, sizeof(a));
len1=mul(a,5000,i);
for(j=1;j<=len1+1;j++)
{
b[j]=a[j]+b[j];
if(b[j]>=10)
{
x=b[j]/10;
y=b[j]%10;
b[j]=y;
b[j+1]=b[j+1]+x;
}
}
}
for(j=len1+1;j>=1;j--)
{
if(j==len1+1&&b[j]!=0)
printf("%d",b[j]);
if(j!=len1+1)
printf("%d",b[j]);
}
printf("\n");
}
return 0;
}
#include<iostream> using namespace std; int nc(int n){ if(n==1) return n; else return n*nc(n-1); } int main(){ int n; while(cin>>n){ int m,p,k=0,y1=0,y2=0; for(m=1,p=2;k<=n/2;m=m+2,p=p+2){ if(m<=n) y1=y1+nc(m); if(p<=n) y2=y2+nc(p); k++; } cout<<y1<<" "<<y2<<endl; } }
#include <iostream> using namespace std; int main(){ int n,i,k; while(cin>>n){ int y1=0,y2=0; for(i=1;i<=n;i=i+2){ int temp=1; for(k=i;k>0;k--) temp*=k; y1+=temp; } for(i=2;i<=n;i=i+2){ int temp=1; for(k=i;k>0;k--) temp*=k; y2+=temp; } cout<<y1<<" "<<y2<<endl; } return 0; }
}
* p是小于等于n的最大偶