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
     
  • 相关阅读:
    SPOJ 694 (后缀数组) Distinct Substrings
    POJ 2774 (后缀数组 最长公共字串) Long Long Message
    POJ 3693 (后缀数组) Maximum repetition substring
    POJ 3261 (后缀数组 二分) Milk Patterns
    UVa 1149 (贪心) Bin Packing
    UVa 12206 (字符串哈希) Stammering Aliens
    UVa 11210 (DFS) Chinese Mahjong
    UVa (BFS) The Monocycle
    UVa 11624 (BFS) Fire!
    HDU 3032 (Nim博弈变形) Nim or not Nim?
  • 原文地址:https://www.cnblogs.com/MichaelGuan/p/1844873.html
Copyright © 2011-2022 走看看