文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>shell code one

shell code one

时间:2010-10-06  来源:Michael Guan

代码 #!/bin/bash

#计算一个十进制整数的二进制表示中1的个数
getnum()
{
    if [ -z "$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 -n ${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

 

 
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载