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
     
  • 相关阅读:
    Lucene:(一)建立索引文件:2。建立索引文件(一)
    Lucene:(一)建立索引文件:2。建立索引文件(二)Segment文件
    92.外边距设置 Walker
    99.元素居中及样式重置 Walker
    94.外边距踩坑 Walker
    101.列表属性 Walker
    97.boxsizing属性 Walker
    98.溢出隐藏 Walker
    95.内边距设置 Walker
    96.内边距和边框踩坑 Walker
  • 原文地址:https://www.cnblogs.com/MichaelGuan/p/1844873.html
Copyright © 2011-2022 走看看