zoukankan      html  css  js  c++  java
  • shell code one

    代码
    #!/bin/bash

    #计算一个十进制整数的二进制表示中1的个数
    getnum()
    {
        
    if [ -"$1" ]
        then
           echo 
    "Usage:$(basename "$0")需要一个参数"
           
    return -1
        fi
        
        a
    ="$1"
        num
    =0
        
    while [ $a -ne 0 ]
        
    do
          ((a
    &=(a-1)))
          ((num
    ++))
        done
        
        echo 
    "`toBin $1`中1的个数为${num}"
    }

    #将一个十进制整数用二进制表示
    toBin()
    {    
        b
    ="$1"
        i
    =0
        
    while [ "$b" -ne 0 ]
        
    do
          ((arr[i
    ++]=$b&1))
          ((b
    >>=1))
        done
        
        
    for((j=i;j>=0;j--))
        
    do
          echo 
    -${arr[j]}
        done
        echo  
    }

    #求给定值n以内所有的素数
    getPrime()
    {
        array
    =($(seq 2 $1))
        
        
    for((m=0;m**2<"$1";m++))
        
    do
            
    for((n=m+1;n<"$1"-1;n++))
            
    do
              
    if [[ ${array[m]} -ne 0  && ${array[n]} -ne 0 ]]
              then
                
    if [ $((${array[n]}%${array[m]})) -eq 0 ]
                then
                    ((array[n]
    =0))
                fi
              fi
            done
        done
        
        echo 
    "$1以内的素数为:"
        
    for ((k=0;k<"$1"-1;k++))
        
    do
          
    if [ ${array[k]} -ne 0 ]
          then
            printf 
    "%s " "${array[k]}" 
          fi
        done
        echo
    }

    #main
    getnum  $1
    getPrime 
    $1
     
  • 相关阅读:
    HDU5269 字典树
    HDU1664 BFS + 数论 + 剪枝
    HDU1429 BFS + 状态压缩
    HDU1075 字典树 + 字符串映射
    HDU1247 字典树
    UVa 10256(凸包、线段交、点在多边形内)
    UVa 10652(旋转、凸包、多边形面积)
    牛客练习赛43D(贪心)
    牛客练习赛43F(推式子)
    Codeforces 1161B(判断旋转对称)
  • 原文地址:https://www.cnblogs.com/MichaelGuan/p/1844873.html
Copyright © 2011-2022 走看看