一个变量的九九乘法表(赞)

来源:互联网 发布:销售新人被辞退 知乎 编辑:程序博客网 时间:2024/05/29 09:10

今天看到一个帖子:

说要求只用一个变量来做出来九九乘法表。。。

看到一楼的回复,表示呆了。。。神人无处不在:


但是,往后看就发现了一个真正的神人= =。:

#include <stdio.h>#include <stdlib.h> int main(void){    int a;         for (a = 0x11; a < 0xa0; a++)    {        for (a = (a & 0xf0) + 1; (a & 0x0f) <= ((a & 0xf0) >> 4); a++)        {            printf("%dx%d=%d\t",                (a & 0x0f),                (a & 0xf0) >> 4,                ((a & 0xf0) >> 4) * (a & 0x0f));        }        a += 0x10;        printf("\n");    }         return 0;}


表示看了好久,才在YM提示下看懂。。。后来又看到一个人,想来这种方法是最正常的答案了把:


#include <stdio.h>int main(){    for(int i=0;i<81;++i)    {        if((i/9+1)>=((i%9)+1))            printf("%d*%d=%2d ",(i/9)+1,(i%9)+1,((i/9)+1)*((i%9)+1));        if( i%9 == 8)   printf("\n");    }    return 0;}


当然还有各种解法:

void main(){   for(int i=0;i<10;i++)   {      printf("%d x 1 = %d ", i, i);       if(i>1)      {         printf("%d x 2 = %d ", i, i*2);          if(i>2)         {            printf("%d x 3 = %d ", i, i*3);             if(i>3)            {               printf("%d x 4 = %d ", i, i*4);                if(i>4)               {                  printf("%d x 5 = %d ", i, i*5);                   if(i>5)                  {                     printf("%d x 6 = %d ", i, i*6);                      if(i>6)                     {                        printf("%d x 7 = %d ", i, i*7);                         if(i>7)                        {                           printf("%d x 8 = %d ", i, i*8);                            if(i>8)                           {                              printf("%d x 9 = %d ", i, i*9);                            }                        }                     }                  }               }            }         }      }   }}








4 0
原创粉丝点击