原题链接:方砖问题
解题思路:
先是自己动手画,结果视乎发现了点规律,不知道是否是真的,编代码,提交,真的AC了。然后再仔细分析,确实如此:
1.n是偶数时,都可以用4块边长为n/2的方砖填满;例如n=4时,可以用边长为2的4块方砖填满;n=6时,可以用边长为3的4块方砖填满;
2.n是奇数时,好好画一下,发现可以用n+3块方砖填满。例如:
(1)n为3时,用1块2*2的填,剩下都用5块1*1的填,共6块;
(2)n为5时,用1块3*3的填,剩下用3块2*2的填,4块用1*1的填,共8块;
(3)n为7时,用1块5*5的填,剩下用5块2*2的填,4块用1*1的填,共10块;
参考代码:
#include <stdio.h> int main() { int n,ans; int T; scanf("%d",&T); while(T--) { scanf("%d",&n); if(n%2==0) ans=4; else ans=n+3; printf("%d\n",ans); } return 0; }
0.0分
7 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复