解题思路:
先是自己动手画,结果视乎发现了点规律,不知道是否是真的,编代码,提交,真的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语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:689 |
【绝对值排序】 (C语言代码)浏览:481 |
不容易系列2 (C语言代码)浏览:648 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:528 |
简单的a+b (C语言代码)浏览:537 |
点我有惊喜!你懂得!浏览:1336 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1066 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:615 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:732 |
C语言训练-斐波纳契数列 (C语言代码)浏览:1165 |