第十五届蓝桥杯 2024 C/C++组 拼正方形

目录

题目:

题目描述:

题目链接:

思路:

思路详解:

易错点:

代码:

代码详解:


题目:

题目描述:

题目链接:

P10898 [蓝桥杯 2024 省 C] 拼正方形 - 洛谷

拼正方形 - 蓝桥云课

思路:

思路详解:

其实这题就是一道数学题,先用2x2的方块拼尽可能大的正方形,再用1x1的方块来补看能不能加边长,题目不难但是还是有易错点的

易错点:

代码:

代码详解:

复制代码
#include<bits/stdc++.h> //数学题:先用2x2的方块拼尽可能大的正方形,再用1x1的方块来补看能不能加边长 
using namespace std; //这里还有易错点:边长x的正方形,围半圈1x1的方块就边长加1了,即围x*2+1块 
                     //易错:认为在边长x的正方形整个外面围一圈,实际上在外面整个围一圈是边长加2 
int main()
{
//	int a=sqrt(7385137888721);   a=2717561,想要拼成一个正方形,需要的2x2的方块数必须是完全平方数
//	int b=a*2;                   b=5435122,每个方块边长为2,所以拼成大正方形的边长是5435122 
//	cout<<a<<endl;
//	cout<<b<<endl;
//	int c=b*2+1;
//	cout<<c<<endl;               c=10870245表示的是围半圈使边长加1需要的1x1方块,实际只有10470245
	printf("5435122"); //所以给的1x1还不都让边长加1,答案就是5435122 
	return 0;
}
相关推荐
你好,奋斗者!25 分钟前
#define STEUER_A_H {PWM_A_ON}
c语言
吴_知遇1 小时前
【华为OD机试真题】428、连续字母长度 | 机试真题+思路参考+代码解析(E卷)(C++)
开发语言·c++·华为od
LaoWaiHang1 小时前
MFC案例:使用键盘按键放大、缩小窗口图像的实验
c++·mfc
到底怎么取名字不会重复1 小时前
Day10——LeetCode15&560
c++·算法·leetcode·哈希算法·散列表
chuxinweihui2 小时前
数据结构——二叉树,堆
c语言·开发语言·数据结构·学习·算法·链表
周而复始 否极泰来2 小时前
深入浅出学会函数(上)
c语言·学习
陈大大陈2 小时前
基于 C++ 的用户认证系统开发:从注册登录到Redis 缓存优化
java·linux·开发语言·数据结构·c++·算法·缓存
纪元A梦2 小时前
华为OD机试真题——通过软盘拷贝文件(2025A卷:200分)Java/python/JavaScript/C++/C语言/GO六种最佳实现
java·javascript·c++·python·华为od·go·华为od机试题
看到我,请让我去学习2 小时前
C语言基础(day0424)
c语言·开发语言·数据结构
猫猫头有亿点炸3 小时前
C语言斐波拉契数列2.0
c语言·开发语言·算法