第一次作业

/*
67.取石头 (15分)
C时间限制:3000 毫秒 |  C内存限制:3000 Kb
题目内容:
有一堆石子,A,B两人
轮流从中取出石子,每次取出的石子数目只能为1,3,7或8,最后一枚石子谁取到就是输方。
A,B两人都足够聪明,不会做出错误的判断。现给出一定数目的石子,A先取石子,计算A最终是输是赢,赢用1表示,
输用0表示.

输入描述

第一行为一个整数n(0< n <=100),表示玩n局,接下来n行每行有一个整数,表示对应的局提供的石子数(不大于
10000),


输出描述

编程输出A对应的n局是赢是输,赢输出1,输输出0.


输入样例

3
1
3
10


输出样例

0
0
1
*/
#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
const int maxn = 1001;
int f[maxn];
int game(int x){
    f[0]=1;f[1]=0;f[2]=1;f[3]=0;f[4]=1;f[5]=0;f[6]=1;f[7]=0;f[8]=1;
    for(int i=9;i<=x;i++)
        f[i]=!(f[x-1]&&f[i-3]&&f[i-7]&&f[i-8]);
    return f[x];
}
int main(){
    int n;
    cin>>n;
    memset(f,0,sizeof(f));
    for(int i=1;i<=n;i++){
        int x;
        scanf("%d",&x);
        cout<<game(x)<<endl;
    }
    return 0;
}

 

 

/*499.最大公约数 (10分)
C时间限制:3000 毫秒 |  C内存限制:3000 Kb
题目内容:

欧几里得原理:
用GCD(A,B)表示两个正整数A和B的最大公约数(GCD是最大公约数的英文Greatest Common Divisor的简写)。
不妨认为A>B,那么GCD(A,B) =GCD(A-B,B)。 也就是把其中较大的一个数变为两数之差后,最大公约数不会变。
例如 GCD(36,14)= GCD (36-14, 14)=GCD(22,14)
现要求利用欧几里得原理,设计一个程序,求两个整数的最大公约数。

输入描述

输入两个整数A,B,  中间用空格间隔。
输出描述
输出A和B的最大公约数
输入样例
14 8
输出样例
2
*/
#include<iostream>
#include<stdio.h>
using namespace std;
int GCD(int a,int b){
    if(b==0) return a;
    if(a<b){
        int t;
        t=a;
        a=b;
        b=t;
    }
        GCD(a-b,b);
    
}
int main(){
    int a,b;
    cin>>a>>b;
    cout<<GCD(a,b)<<endl;
    return 0;
}

 

 

 

/*1497.传球问题 (20分)
C时间限制:3000 毫秒 |  C内存限制:3000 Kb
题目内容:

现有四个人做传球游戏,要求接球后马上传给别人。由甲先传球,并作为第1次传球,求经过n次传球仍回到发球人甲手中的传球方式的种数。

输入描述

整数n,已知n<20


输出描述

传球方式数


输入样例

10


输出样例

14763*/
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
const int maxn = 20;
int g[maxn],f[maxn];//f记录的是从甲传球再传回甲中途传球的次数,g记录的是从乙传球传回甲传球的次数
int main(){
    int n;
    cin>>n;
    memset(g,0,sizeof(g));
    memset(f,0,sizeof(f));
    f[0] = 0,g[1] = 1,f[1]=0;//当n==1是,甲传给别人,无法传回自己,所以为0;
    for(int i=2;i<=n;i++){
        f[i] = 3*g[i-1];
        g[i] = 2*g[i-1] + f[i-1];
    }
    cout<<f[n]<<endl;
    return 0;
}

posted @ 2019-09-11 16:48  sqsq  阅读(209)  评论(0编辑  收藏  举报