第十五届蓝桥杯 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;
}
相关推荐
2601_949146535 小时前
C语言语音通知接口接入教程:如何使用C语言直接调用语音预警API
c语言·开发语言
在路上看风景5 小时前
19. 成员初始化列表和初始化对象
c++
zmzb01035 小时前
C++课后习题训练记录Day98
开发语言·c++
念风零壹6 小时前
C++ 内存避坑指南:如何用移动语义和智能指针解决“深拷贝”与“内存泄漏”
c++
孞㐑¥7 小时前
算法——BFS
开发语言·c++·经验分享·笔记·算法
知南x7 小时前
【Ascend C系列课程(高级)】(1) 算子调试+调优
c语言·开发语言
MZ_ZXD0018 小时前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php
2的n次方_9 小时前
Runtime 执行提交机制:NPU 硬件队列的管理与任务原子化下发
c语言·开发语言
A星空1239 小时前
一、Linux嵌入式的I2C驱动开发
linux·c++·驱动开发·i2c
凡人叶枫9 小时前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发