北航OJ 0031~0037 2015级C++第二次上机

这篇博客详细介绍了北航OJ的七道C++上机题目,包括0032的开心与不开心天数问题,0034的三角形判断,0036的实数阿基米德性检验,0031的神奇桌子模拟,0037的精度比较,0035的搜索次数优化,以及0033的解析几何应用。文章中提到部分题目可通过高中知识解决,部分则涉及实数性质和算法优化。
摘要由CSDN通过智能技术生成

0032 - A - cool_breeze的袜子
开心的天数是较小的数b,不开心的天数是 ab2 .

#include <stdio.h>
int main(){
    int a,b,t;
    while(scanf("%d%d",&a,&b)==2){
        if(a<b){t=a;a=b;b=t;}
        printf("%d %d\n",b,(a-b)>>1);
    }
}

0034 - B - 判断三角形
用英文写就算了,担心同学们看不懂老师还写了几个中文注释(- -)||

#include <stdio.h>
int main(){
    int a,b,c,t;
    while(scanf("%d%d%d",&a,&b,&c)==3){
        if(a+b>c&&a+c>b&&b+c>a){
            if(!(a-b&&a-c&&b-c))printf("perfect\n");
            else{
                if(a>b){t=a;a=b;b=t;}
                if(b>c){t=b;b=c;c=t;}
                if(a*a+b*b==c*c)printf("good\n");
                else printf("just a triangle\n");
            }
        }
        else printf("wrong\n");
    }
}

0036 - C - jhljx水水的签到题
这道题其实是检验实数的阿基米德性,没上过数分还不知道这种题是怎么出出来的…

#include <stdio.h>
int main(){
    int n,m;
    while(scanf("%lld%lld",&n,&m)==2)printf("%lld %lld\n",n/m,m*(n/m));
}

0031 - D - 神奇的桌子
模拟,不用想太多,朴素方法能过。但事实上使用质因数分解,这道题能降低大量的复杂度。

#include <stdio.h>
#include <math.h>
int main(){
    int i,n,x,cnt,t;
    while(scanf("%d%d",&n,&x)==2){
        cnt=0;//t=sqrt(n)+1;
        for(i=1;i<=n;i++){
            if(!(x%i)&&x/i<=n)cnt++;//if(i*i==x)cnt--;}
        }
        printf("%d\n",cnt);
    }
}

0037 - E - 水水的比较大小
考察精度。

#include <cstdio>
#include <cmath>
int main(){
    double a,b;
    while(scanf("%lf%lf",&a,&b)==2){
        if(fabs(a-b)<=1e-8)printf("nakezhenchun\n");
        else if(a>b)printf(
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值