c - LCM,然后以矩阵形式表示
问题描述
我必须找到 LCM,然后在表格中表示它们。我发现需要 LCM,但我不确定如何在桌面上格式化它。
|.... 20.... 21.... 22.... 23....
---+--------------------------------
10 |20... 210...110... 230...
11 |220...231...22...253...
.... | 等等
#include <stdio.h>
int main(){
int u, v, x, y, lcm, gcd, temp;
for(x = 10; x < 20; x++){
for(y = 20; y < 30; y++){
if(x > y){
v = x;
u = y;
}
else{
v = y;
u = x;
}
temp = v % u;
// GCD
while(temp != 0){
v = u;
u = temp;
temp = v % u;
}
gcd = u;
// LCM
lcm = (x * y) / gcd;
printf("The LCM is %d\n", lcm);
}
}
}
解决方案
首先,您打印从 20 到 30 的第一行。我使用\t
而不是...
因为,我认为它更漂亮。如果需要,您可以改用...
。
printf("| ");
for(y = 20; y < 30; y++) {
printf("%d\t", y);
}
printf("\n---+--------------------------------\n");
for(x = 10; x < 20; x++){
// your code here
}
然后在双for循环中:
for(x = 10; x < 20; x++){
printf("%d|", x);
for(y = 20; y < 30; y++){
if(x > y){
v = x;
u = y;
}
... // your code
// LCM
lcm = (x * y) / gcd;
printf("%d\t", lcm);
}
printf("\n");
}
测试结果:
| 20 21 22 23 24 25 26 27 28 29
---+--------------------------------
10|20 210 110 230 120 50 130 270 140 290
11|220 231 22 253 264 275 286 297 308 319
12|60 84 132 276 24 300 156 108 84 348
13|260 273 286 299 312 325 26 351 364 377
14|140 42 154 322 168 350 182 378 28 406
15|60 105 330 345 120 75 390 135 420 435
16|80 336 176 368 48 400 208 432 112 464
17|340 357 374 391 408 425 442 459 476 493
18|180 126 198 414 72 450 234 54 252 522
19|380 399 418 437 456 475 494 513 532 551
推荐阅读
- c# - UTF-8 字符串 - if/else if 不起作用,但值等于
- amazon-web-services - 将 AWS SQS 连接到 Apache-Flink
- python - 使用 python 刮表以获取玩家列表
- c++ - 检查函数参数的默认分配
- cmake - CMake TARGET_NAME 生成器表达式
- angular - 如何从可观察对象数组中返回可观察对象
- javascript - 如何根据 ES6 中的单击元素创建新对象?
- bash - 'cd --' 的行为(两个连字符)
- android - 错误无法启动活动 ComponentInfo?
- java - 如何修改 JSONObject 中的单个值?