shell 水仙花
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 水仙花相关的知识,希望对你有一定的参考价值。
1.在linux下shell编程100-1000的水仙花数
2.输入1个数判断成绩,用case做!
注意是linux 下的 shell编程
其他语言的不要回复
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
#!/bin/bash
for (( a=1; a<10; a++ ))
do
for (( b=0; b<10; b++ ))
do
for (( c=0; c<10; c++ ))
do
number1=$((a*100+b*10+c))
number2=$((a**3+b**3+c**3))
if [ $number1 -eq $number2 ]; then
echo "Found number $number1"
fi
done
done
done
bash判断成绩,你的意思是要判断是否及格吗?下面的程序分别判断是小于60,大于60,满分(100),或者是无效输入。将下面的程序存入文件中,比如 my.sh, 然后用 my.sh 85 的方法来判断85分属于什么区间。
#!/bin/bash
case $1 in
[0-9]|[0-5][0-9]) echo "less than 60" ;;
100) echo "full score" ;;
[6-9][0-9]) echo "more than 60" ;;
*) echo "Invalid score $1" ;;
esac 参考技术A
忘了数仙花水是怎样的,说一下.
水仙花和变种水仙花
/***********************************************************************
目的:打印出100-999以内的“水仙花数”,所谓“水仙花数”(Narcissistic number)是指一个三位数,其各位数字立方和等于该数本身
比如:153是一个“水仙花数”,因为153 = (1 * 1 * 1)+(5 * 5 * 5)+(3 * 3 * 3)。
分析:无
平台:Visual studio 2017 && windows
*************************************************************************/
📝 实现代码1
#include<stdio.h>
#include<math.h>
int main()
{
int n = 100;
while(n <= 999)
{
int i = n % 10;//个位
int j = n / 10 % 10;//十位
int k = n / 100;//百位
if(n == pow(i, 3) + pow(j, 3) + pow(k, 3))//同(i * i * i) + (j * j * j) + (k * k * k)
{
printf("%d ", n);
}
n++;
}
return 0;
}
/***********************************************************************
目的:变种水仙花数 - Lily Number:把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个Lily Number:1461=1461+1461+146*1,求出5位数中的所有Lily Number
分析:无
平台:Visual studio 2017 && windows
*************************************************************************/
📝 实现代码2
#include<stdio.h>
int main()
{
int n = 0;
for (n = 10000; n <= 99999; n++)
{
int m = 0;
int sum = 0;
for (m = 10; m <= 10000; m *= 10)//拆分
{
sum += ((n / m) * (n % m));
}
if (n == sum)
{
printf("%d ", n);
}
}
return 0;
}
以上是关于shell 水仙花的主要内容,如果未能解决你的问题,请参考以下文章