• 学堂在线TsinghuaX: 00740043X C++语言程序设计基础 第三章Lab


    第一题:直角三角形

    题目描述 

    输入一个三角形的3边长度,判断该三角形是否为直角三角形,若是则输出True,若不是则输出False。推荐做法:定义一个函数,接受三个int参数,返回bool,再用主函数调用之。

    输入描述

    每行输入三个由空格隔开的整数a, b, c,表示三角形的3条边长 

    1 <= a,b,c<= 10000

    输出描述

    对于每一行输入,输出True或者False表明是否为直角三角形

    样例输入

    3 4 5
    6 7 8
    1 1 1

    样例输出

    True
    False
    False
    #include <stdio.h>
    int main(int argc,const char *argv[])
    {
        int a,b,c,tmp;
        scanf("%d %d %d",&a,&b,&c);
        if(a<b)
        {
            tmp=a;a=b;b=tmp;
        }
        if(a<c)
        {
            tmp=a;a=c;c=tmp;
        }
        if(a*a==b*b+c*c)
            printf("True
    ");
        else 
            printf("False
    ");
    }

    第二题:斐波那契数列

    题目描述

    斐波那契数列f(n)满足以下定义: 

    f(0) = 1, f(1) = 1, f(n) = f(n-1) + f(n-2) (n >= 2)。 

    请用递归的方法编写函数,对于给定的n,求出斐波那契数列的第n项f(n)

    输入描述

    每行输入一个整数n

    0 <= n<= 30 

    输出描述

    对于每一行输入,输出斐波那契数列第n项的值f(n)

    样例输入

    1
    10
    25
    

    样例输出

    1
    89
    121393
    #include <iostream>
    using namespace std;
    int f(int n)
    {
        if (n==0||n==1)
            return 1;
        else
            return f(n-1)+f(n-2);
    }
    int main(int argc,const char *argv[])
    {
        int i,a;
        cin>>i;
        a=f(i);
        cout<<a<<endl;
        return 0;
    }

    第三题:丑数

    题目描述

    只包含因子2,3,5的正整数被称作丑数,比如4,10,12都是丑数,而7,23,111则不是丑数,另外1也不是丑数。请编写一个函数,输入一个整数n,能够判断该整数是否为丑数,如果是,则输出True,否则输出False。

    输入描述

    每行输入一个正整数n

    1 <= n<= 1000000

    输出描述

    对于每一行输入,输出其是否为丑数,是则输出True,否则输出False

    样例输入

    4
    7
    12
    

    样例输出

    True
    False
    True
    #include<iostream>
    using namespace std;
    void IsUgly(int num)
    {
        if(num==1)
            cout<<"False"<<endl;
        else
        {
            while(num%2==0)
                num/=2;
            while(num%3==0)
                num/=3;
            while(num%5==0)
                num/=5;
            if(num==1)
                cout<<"True"<<endl;
            else
                cout<<"False"<<endl;
        }
    }
    int main(int argc,const char *argv[])
    {
        int n;
        cin>>n;
        IsUgly(n);
        return 0;
    }

    附加题:斐波那契数列选做题

    题目描述

    斐波那契数列f(n)满足以下定义:

    f(0) = 1, f(1) = 1, f(n) = f(n-1) + f(n-2) (n >= 2)。

    本题的数据规模比原先更大 

    输入描述

    每行输入一个整数n

    0 <= n<= 80

    输出描述

    对于每一行输入,输出斐波那契数列第n项的值f(n)

    样例输入

    44
    77
    

    样例输出

    1134903170
    8944394323791464
    #include <iostream>
    using namespace std;
    long long int Fibonacci(int n)
    {
        long long int result=0;
        long long int a[2]={1,1};
        if(n==0||n==1)
            return 1;
        else
        {
            for(int i=1;i<n;i++)
            {
                result=a[0]+a[1];
                a[0]=a[1];
                a[1]=result;
            }
        }
        return result;
    }
    int main()
    {
        int n;
        cin>>n;
        cout<<Fibonacci(n)<<endl;
        return 0;
    }
  • 相关阅读:
    [开源]WinForm 控件使用总结
    类型转换一种处理方式
    [算法]斐波那契数列
    [算法]1 − 2 + 3 − 4 + …
    [算法]冒泡排序
    [开源]基于Log4Net简单实现KafkaAppender
    基于Log4Net本地日志服务简单实现
    项目打jar包,怎么把第三放jar包一起打入
    将博客搬至CSDN
    将字段转换为阿拉伯数字
  • 原文地址:https://www.cnblogs.com/Konayuki2015/p/4520580.html
Copyright © 2020-2023  润新知