第十五届蓝桥杯 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;
}
相关推荐
晚风吹红霞6 分钟前
C++异常处理核心知识点全解析
开发语言·c++
CoderCodingNo7 分钟前
【信奥业余科普】C++ 的奇妙之旅 | 17:面的铺展与文本的本质——二维数组与字符串
开发语言·c++
迷途之人不知返23 分钟前
优先级队列:priority_queue
数据结构·c++
曦夜日长27 分钟前
C++ STL容器string(一):string的变量细节、默认函数的认识以及常用接口的使用
java·开发语言·c++
代码中介商29 分钟前
C++ STL 标准模板库完全指南:从容器到迭代器
开发语言·c++·stl
winner888132 分钟前
C++ 构造函数、析构函数、虚函数、虚析构
开发语言·c++
想唱rap33 分钟前
应用层协议与序列化
linux·运维·服务器·网络·数据结构·c++·算法
许长安35 分钟前
protobuf 使用详解
c++·经验分享·笔记·中间件
Soley39 分钟前
用 Boost.Log 封装一个更顺手的 C++17 日志库:GoodLog
c++
HAPPY酷44 分钟前
从Public到Private:UE5 C++类创建路径差异全解析
java·c++·ue5