一次循环打印9×9乘法表

通过纯数学方法遍历一次循环,就可以实现打印9×9乘法表。

以下是参考代码:

#include <stdio.h>
#include <math.h>
int main()
{
    int i;
    for(i = 0; i < 45; i ++)
    {
        int R = (sqrt(8 * i + 1) + 1) / 2;
        int C = i + 1 - (R - 1) * R / 2;
        printf("%d*%d=%d", C, R, R * C);
        putchar(R == C ? '\n' : ' ');
    }
    return 0;
}

作者:苦逼小青年
链接:https://www.zhihu.com/question/55768263/answer/146636640
来源:知乎

分享