首页 > 其他分享 >打卡

打卡

时间:2023-05-22 19:56:20浏览次数:32  
标签:穷举法 int 控制变量 打卡 取值 100

1.问题:求100以内的所有勾股数。

所谓勾股数,是指能够构成直角三角形三条边的三个正整数(a,b,c)。

2.思路:

采用穷举法求解时,最容易想到的一种方法是利用3个循环语句分别控制变最a、b、c的取值范围,第1层控制变量a,取值范围是1〜100。在a值确定的情况下再确定b值,即第2层控制变量b,为了避免结果有重复现象,b的取值范围是a+1〜100。a、b的值已确定,利用穷举法在b+1〜100范围内一个一个的去比较,看当前c值是否满足条件 a2 + b2 = c2,若满足,则输出当前a、b、c的值,否则继续寻找。

3.程序流程图:

 

4.代码实现:

#include <iostream>
using namespace std;

int main()
{
for(int i=1;i<=100;i++){
for(int j=i+1;j<=100;j++){
for(int k=j+1;k<=100;k++){
if(i*i+j*j==k*k)
cout<<i<<" "<<j<<" "<<k<<endl;
}
}
}
return 0;
}

标签:穷举法,int,控制变量,打卡,取值,100
From: https://www.cnblogs.com/Hugo-Martin/p/17421571.html

相关文章

  • 第30天打卡
    问题:求两个正整数的最大公约数源代码:#include<stdio.h>intmain(){intm,n,temp,i,k;scanf("%d%d",&m,&n);if(m<n){temp=m;m=n;n=temp;}for(i=1;i<n;i++)if(m%i==0&&n%i==0)k=i;printf("最大公约数为%的",k);return0;}......
  • 编程打卡:面向对象程序设计
    importosimportsqlite3#Createadatabaseconnectionconn=sqlite3.connect('todo.db')#Createatodotablecur=conn.cursor()cur.execute('''CREATETABLEtodo(idINTEGERPRIMARYKEYAUTOINCREMENT,titleTEXTNOTNUL......
  • c++打卡第三十四天
    一、勾股数1、问题描述 2、设计思路   由题可知,数学中并不存在两条直角边相等的勾股数,同时两个直角边的平方和并不一定是整形,可能会存在小数,这样我们的判断勾股数的方法就是,两个直角边的平方和开根号,对此值强制转化为整形,得到的结果进行平方看是否与两直角边的平方和相......
  • 5月22日打卡
    例具有静态数据、成员函数的Point类代码部分: #include<iostream>usingnamespacestd;classPoint{private:intx,y;staticintcount;public:Point(intx=0,inty=0):x(x),y(y){count++;}Point(Point&p){x=p......
  • 打卡第三十一天
    定义基类Point和派生类Circle,求圆的周长一、1.Point类定义两个私有的数据成员floatx,y2.Circle类新增一个私有的数据成员半径floatr和一个公有的求周长的函数getCircumference()二、三、#include<iostream>#include<iomanip>#definePI3.14usingnamespacestd;classPoi......
  • 建民打卡日记5.22
    一、问题描述我们看到,把数字0-9翻倒,有的数字就认不出来了,比如2、3、4、5、7;有的数字看上去没什么大的变化,比如0、1、8;还有的数字变成了另一个数,比如6变成9,9变成6。给定一堆数字,请你判别每个数有没有可能是另一个数字翻倒形成的。二、流程设计对每个给定的数字,如果它......
  • Jquery操作打卡
    01jquery动态操作节点1.动态操作节点原js:-创建节点createElement('div')createTextNode('内容')-添加节点父节点.appendChild(子节点)父节点.insertBefore(......
  • 打卡 c语言趣味编程 舍罕王的失算
    问题描述:相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜爱象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着8×8共64格的象棋棋盘说:陛下,请您赏给我一些麦子吧。就在棋盘的第1格中放1粒,第2格放2粒,第3格放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上64格......
  • 5.22打卡
      3.程序流程图 4.代码实现#include<bits/stdc++.h>usingnamespacestd;inta[14];main(){inti,j=1,n;printf("ħÊõʦÊÖÖеÄÅÆԭʼ³ÌÐòÊÇ£º\n");for(i=1;i<=13;i++){n=1;do{......
  • 每天打卡一小时 第三十二天
    浅浅复习一下C#include<stdio.h>#include<math.h>intmain(){ intnum; charch; scanf("%d%c",&num,&ch); inthangshu=(int)sqrt((num+1)/2); for(inti=0;i<hangshu;i++) { for(intk=0;k<i;k++) { printf("&quo......