C:
思路:做几组数据就基本能发现规律,奇数为-1,偶数为1
代码:
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
long long int a;
scanf("%lld",&a);
if(a%2==0)
{
cout<<1<<endl;
}
else
{
cout<<"-1"<<endl;
}
return 0;
}
G:
求四个数的和,数的范围是-2e61到2e61,用c++学了几个没过,就直接换无脑JAVA吧
代码:
import java.math.BigInteger;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int T = cin.nextInt();
while (T-- > 0)
{
BigInteger a;
BigInteger b;
BigInteger c;
BigInteger d;
a = cin.nextBigInteger();
b = cin.nextBigInteger();
c=cin.nextBigInteger();
d=cin.nextBigInteger();
System.out.println(d.add(c.add(a.add(b))));
}
}
}
J:看明白递归程序,换一种写法即可
代码:
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#define MAX 100005
using namespace std;
long long int a[100005];
int main()
{
int n;
a[0]=1;
a[1]=1;
a[2]=3;
cin>>n;
for(int t=3;t<100005;t++)
{
a[t]=(t*a[t-1]+(t-1)*a[t-2])%1000000007;
}
printf("%lld
",a[n]);
return 0;
}