首页 > 其他分享 >打卡5.8——勾股数

打卡5.8——勾股数

时间:2023-05-14 20:57:35浏览次数:38  
标签:平方 5.8 股数 int && 打卡

1.问题描述

求100以内所有的勾股数

所谓勾股数,是指能够构成三角形三条边的三个正整数。

2.问题分析

勾股数,要符合a^2+b^2=c^2,而且任意两条边的和大于第三条边

这就要用到sqrt函数,就相当于不用平方了

c = (int)sqrt(a * a + b * b);
                if (c* c == a * a + b * b && a + b > c && a + c > b && b + c > a && c <= 100)//这里不要忘记是一百以内的

 

3.算法分析

穷举法,两个循环语句分别控制a,b,这样a和b的值能确定,它们的平方和等于c的平方,可以将a^2+b^2的平方根赋值给c,再去判断c的平方是不是等于a^2+b^2,是不是符合直角三角形

4.程序

复制代码
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
    int a, b, c, d = 0;
    for(a=0;a<=100;a++)
        for (b = a + 1; b <= 100; b++)
        {
            c = (int)sqrt(a * a + b * b);//求c的值
                if (c* c == a * a + b * b && a + b > c && a + c > b && b + c > a && c <= 100)//判断c^2是不是等于a^2+b^2,然后两边之和大于第三边
                {
                    cout << a << "  " << b << "  " << c << "  " << endl;//输出
                        cout << endl;//换个行
                }
        }
    cout << endl;
}

标签:平方,5.8,股数,int,&&,打卡
From: https://www.cnblogs.com/genyuan0/p/17400167.html

相关文章

  • 打卡5.9——求某一范围内完数的个数
    如果一个数等于它的因子之和,则称该数为完数,例如“6”的因子为1,2,3,而6=1+2+3,因此6是完数问题分析:假设一个数d,然后计算出它的每个因子,用到for循环,假如是a,b,c,然后进行一个判断如果a+b+c=d,就说明d是完数,应该要用到两层循环,最外层循环从2开始,一直到d,内层循环从1开始,一直到a,然后开始取余......
  • 5-14打卡 力扣24. 两两交换链表中的节点
    给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。示例1:输入:head=[1,2,3,4]输出:[2,1,4,3]示例2:输入:head=[]输出:[]示例3:输入:head=[1]输出:[1]来源:力扣(LeetCode)链接:https://leetco......
  • 每日打卡26
    一、问题描述一三位数的各个位数立方和等于本身,求所有水仙花数二、 三、流程图设计 四、代码实现#include<iostream>usingnamespacestd;intmain(){ intn,a,b,c,x; cin>>x; for(n=100;n<x;n++){ a=n/100; b=n%100/10; c=n%10; if(n==a*a*a+b*b*b+c*c*c){ cout<<n<<e......
  • 建民打卡日记5.14
    一、问题描述一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下:首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2};然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M的值:Z:012345678910M:10X987......
  • 2023.5.14编程一小时打卡
    一、问题描述:计算点到直线的距离。首先设计一个点类Point,它有2个私有数据成员x和y,表示点的坐标。另一个类为直线类Line,它有3个私有数据成员a,b和c,表示直线方程ax+by+c=0。这两个类中都说明了一个友元函数dist,用于计算一个点到直线的距离。点(x.y)到直线ax+by+c=0的距离d的......
  • c++打卡练习(27)
    求x的y次方的最后三位数流程图:伪代码:源代码:#include<iostream>usingnamespacestd;intmain(){intnum,y,x,i;printf("输入x以及x的次数y\n"); scanf("%d%d",&x,&y); for(i=1,num=1;i<=y;i++){ num=num*x%1000; }printf("%d",num); r......
  • 5-12打卡,练习
    实现一个z字形的字符串排列classSolution{public:voidconvert(strings){intn=s.size()-1,N=s.size()-1;intm=n%4;while(n>=0){if(n!=N){cout<<"";......
  • 5.14打卡
    问题描述:比较两个分数的大小二、设计思路:要求通分后的最简公分母,即求两分母的最小公倍数。求最小公倍数的前提是求出两数的最大公约数,最大公约数的求解采用辗转相除的方法,步骤如下:(1)用较大的数m除以较小的数n,得到的余数存储到变量b中;b=m%n;(2)上一步中较小的除数n和得出的余数b......
  • 打卡5.8——委派认为问题
    1.问题描述某项任务需要在A、B、C、D、E、F这6个人中挑选人来完成,但挑选人受限于以下的条件:(1)A和B两个人至少去一人;(2)A和D不能同时去;(3)A、E和F三人中要挑选两个人去;(4)B和C同时去或者都不去;(5)C和D两人中只能去一个;(6)如果D不去,那么E也不去。试编程求出应该让哪几个人......
  • 打卡5.6——求车速
    问题描述:一辆以固定速度行驶的汽车,司机在上午10点看到里程表上的读数是一个对称数(即这个数从左向右读和从右向左读是完全一样的),为95859。两小时后里程表上出现了一个新的对称数,该数仍为五位数。问该车的速度是多少?新的对称数是多少?问题分析:对称数是95859,两小时后出现新的,这个数......