08-17 算法题

1. 求100! 的末尾有多少个0      关键求1-100 数中 因子5的个数

 

2. 蛇形矩阵 , 每一个斜着的 一行  行号+列号是相等的  并且分奇偶;

代码如下: 思想 每过一次斜行  起始行号会变(0,或者 sum )  行号+列号 不变

 

3. 魔方阵(横着 竖着 斜着 相加都一样)  越界用 取余计算  ||  (row-1+size )%size  行 || 列 (col+1)%size 

    这里因为行号要减少 所以要加 size  避免 行号出现负数的情况 ,    ||   n%size 判断另外条件08-17 <wbr>算法题

 

下面为蛇形矩阵代码

#include
    #include
    #define size atoi(argv[1])
    #define in_arr(x,y) (x)>=0&&(x)=0&&(y)
    
    int main(int argc,char *argv[])
    {
     int row,col;
     int arr[size][size];
    10  int sum=0;
    11  int num=0;
    12  while(sum<=size*2-1)
    13  {
    14   if(sum%2==0)
    15   {
    16    for(row=0;row<=sum;row++)
    17    {
    18     if(in_arr(row,sum-row))
    19      arr[row][sum-row]=++num;
    20    }
    21 
    22 
    23   }else
    24   {
    25    for(row=sum;row>=0;row--)
    26    {
    27     if(in_arr(row,sum-row))
    28      arr[row][sum-row]=++num;
    29    }
    30   }
    31   sum++;
    32  }
    33  /
    34  for(row=0;row
    35  {
    36   for(col=0;col
    37    printf("=",arr[row][col]);
    38   printf("\n");
    39  }
    40 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值