From 740a7e6a9ecba293adf4184f90d0624a5c992eb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Fri, 8 Mar 2024 10:37:39 +0800 Subject: [PATCH] 'commit' --- .../ZhongGaoJi/LanQiao15STEMA202401/3.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao15STEMA202401/3.cpp b/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao15STEMA202401/3.cpp index f21c4e0..8e163fb 100644 --- a/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao15STEMA202401/3.cpp +++ b/TangDou/LanQiaoBei/ZhongGaoJi/LanQiao15STEMA202401/3.cpp @@ -10,22 +10,23 @@ aebfcgdh 思考: 行数:n, 列数:m 需要满足 m>=n (1) 1行, m=length(abcdefgh)=8 n=1 满足m>=n -(2) 2行, m=length(abcdefgh)/2=8/2=4 n=2 满足m>=n -(3) 3行, 8不能被3整除,跳过 -(4) 4行, m=8/4=2, n=4 m=n +(3) 3行, 8不能被3整除,跳过,尝试继续增大行数试试 +(4) 4行, m=8/4=2, n=4 m> s; // 生成一个n行m列的矩阵 - // 1、整明白到底是几行几列 + + // 1、几行几列是答案? int len = s.size(); - int n = 0; // 最后是几行 for (int i = 1;; i++) { - if (len % i == 0 && len / i >= i) n = i; - if (len / i < i) break; + if (len % i == 0 && len / i >= i) n = i; // 找到一个合理解,更新之 + if (len / i < i) break; // 跑过了,就停下来 } int m = len / n; // 每行多少列