计概杂烩2018

发布时间 2023-12-15 17:07:11作者: oierwyh

2018计概期末

就医问题

#include <stdio.h>

/* C语言初始模板程序 */

int main(void) { 
    char a[2]={'B','A'};
    int x;scanf("%d",&x);printf("%c\n",a[x%2]);
	return 0;
}

马虎的佩奇

#include <stdio.h>
#define eps 0.000006
#include<math.h>

int main(void) { 
    double v1,v2,t,s;
    scanf("%lf%lf%lf%lf",&v1,&v2,&t,&s);
    if(s/v1-s/v2>=t&&v2>v1) printf("YES\n");
    else printf("NO\n");
	return 0;
}

多多爱赚零花钱

#include <stdio.h>

/* C语言初始模板程序 */

int main(void) { 
    double ans=0;
    for(int i=1;i<=12;++i)
    {
        double x;scanf("%lf",&x);
        ans+=x;
    }
    printf("$%.2lf\n",ans/12);
	return 0;
}

因子问题

#include <stdio.h>

/* C语言初始模板程序 */

int main(void) { 
    int n,m;scanf("%d%d",&n,&m);
    for(int i=1;i<m;++i)
        if(n%i==0&&n%(m-i)==0)
        {
            printf("%d\n",i);return 0;
        }
    printf("-1\n");
	return 0;
}

基因编辑

#include <stdio.h>
#include <string.h>
/* C语言初始模板程序 */

int main(void) { 
    char c[300];gets(c);
    for(int i=strlen(c)-1;i>0;--i)
        if(c[i]=='T'&&c[i-1]=='G')
            c[i]='G';
    puts(c);
	return 0;
}

注意陷阱GGT的情况要变成GTT而不是TTT,这里我采用了倒序的方式避免这种情况(也可以直接换个数组

孪生素数

#include <stdio.h>

int p(int x)
{
    for(int i=2;i<=x-1;++i)
        if(x%i==0)
            return 0;
    return 1;
}

int main(void) { 
    int m;scanf("%d",&m);
    for(int i=m;;--i)
    {
        if(p(i-2)&&p(i))
        {
            printf("%d %d\n",i-2,i);
            return 0;
        }
    }
	return 0;
}

判断素数的时候到sprtx即可,注意有时需要特判1和0

海王

#include <stdio.h>

int main(void) { 
    int n,ans=1;scanf("%d",&n);
    for(int i=1;i<n;++i)
        ans=(ans+1)*2;
    printf("%d\n",ans);
	return 0;
}

找规律写数即可

筛选病人

#include <stdio.h>
#include <string.h>
struct pa{
    char name[10];
    int age;
    float tem;
    int b;
}a[400],d[400];
int main(void) { 
    int n,cnt=0;scanf("%d",&n);
    for(int i=1;i<=n;++i)
    {
        scanf("%s%d%f%d",a[i].name,&a[i].age,&a[i].tem,&a[i].b);
        if(a[i].tem<37.5) a[i].b=0;
        if(a[i].b==1) d[++cnt]=a[i];
    }
    for(int i=1;i<cnt;++i)
        for(int j=i+1;j<=cnt;++j)
        {
            if(d[i].age<d[j].age||(d[i].age==d[j].age&&strcmp(d[i].name,d[j].name)>0))
            {
                struct pa tmp=d[i];d[i]=d[j];d[j]=tmp;
            }
        }
    for(int i=1;i<=cnt;++i)
        printf("%s %d %g\n",d[i].name,d[i].age,d[i].tem);
	return 0;
}

编程网格好像是不支持typedef为啥啊好离谱

谁能拿到最多的硬币


### 迷信的病人

### 明哥之问