桃412 2022-11-19 21:52 采纳率: 33.3%
浏览 15
已结题

如何用函数,求0-100的勾股数?(语言-c++)

100(C<=100) 以内的勾股数对

(a,b,c为正整数 要用一个函数来求




#include <iostream>             
using namespace std;
int pri(int x, int y,int z)
{                                   //用三目运算符运算,比上面那种方法简单
    for (int a = 1; a <= 100; a++)
    {
        for (int b = 1; b <= 100; b++)
        {
            for (int c = a > b ? a : b; c <= 100; c++)
            {
                if (a * a + b * b == c * c)
                {
                    cout << a << "*" << a << "+" << b << "*" << b << "==" << c << "*" << c << endl;
                }
            }
        }
    }
  return 0;
}
int main()
{
    int gcd = pri(0,100);
    cout << "Gcd = " << gcd << endl;
    return 0;
}
上面的是求100以内的勾股数的,要是用函数求的话,我想应该要先判断是否为勾股数,再套用一个函数输入a,b,c的值
  • 写回答

1条回答 默认 最新

  • Minecraft__Him 2022-11-20 10:55
    关注

    emm……
    这是网上找来的:

    #include<bits/stdc++.h>
    bool ishz(int a,int b,int c){    
    int i;    
    for(i=2;i<=a;i++)        
      if(a%i==0&&b%i==0&&c%i==0)break;   
    if(i>a)return true;    return false;
    } 
    int main()
    {    int i,j,k;    for(i=1;i<=100;i++)        for(j=i+1;j<=100;j++)            for(k=j+1;k<=100;k++)                if(i*i+j*j==k*k&&ishz(i,j,k))                    printf("%d,%d,%d\n",i,j,k);    return 0;}
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月28日
  • 已采纳回答 11月20日
  • 修改了问题 11月19日
  • 创建了问题 11月19日

悬赏问题

  • ¥15 表达式必须是可修改的左值
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题