目录
题目:
题目描述:
题目链接:
思路:
思路详解:
易错点:
代码:
代码详解:
题目:
题目描述:
题目链接:
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方块,实际只有10470245printf("5435122"); //所以给的1x1还不都让边长加1,答案就是5435122 return 0;
}