解题思路:
先是自己动手画,结果视乎发现了点规律,不知道是否是真的,编代码,提交,真的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分
9 人评分
C语言训练-自守数问题 (C语言代码) long long浏览:1105 |
C二级辅导-计负均正 (C语言代码)浏览:556 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:1215 |
WU-蓝桥杯算法提高VIP-企业奖金发放 (C++代码)浏览:1266 |
1126题解浏览:649 |
简单的a+b (C语言代码)浏览:1024 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:812 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:751 |
多组数据新方法浏览:368 |
P1002 (C语言代码)浏览:1028 |