#includeiostream
蕲春ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!
#includealgorithm
#includestring.h
using namespace std;
int a[1001];
int f[1000];
int main()
{
int i,n,m,x,j,k;
a[0]=0;
while(cinnn){
for(i=1;i=n;i++)
cina[i];
cinm;
if(m5)
sort(a,a+n+1);
memset(f,-1,sizeof(f));
f[0]=0;
for(k=0;k=m-5;k++)
if(f[k]=0){
for(i=f[k]+1;in;i++)
if(k+a[i]=m-5(f[k+a[i]]i||f[k+a[i]]==-1))
f[k+a[i]]=i;
}
for(i=m-5;i=0;i--)
if(f[i]=0)
break;
coutm-i-a[n]endl;
}
return 0;
}
请参考
?php
for($q=1;$q=9;$q++){
for($w=0;$w=9;$w++){
for($e=0;$e=9;$e++){
if($q*$q*$q + $w*$w*$w + $e*$e*$e ==
100*$q + 10*$w + $e){
echo "$q $w $e "."p";
}
}
}
}
?
水仙花数是指一种三位数,其各个数之立方和等于该数。
水仙花数共有4个,分别为:153、370、371、407
( 例如:1^3 + 5^3 + 3^3 = 153 )
PHP“水仙花数”实现代码:
?php
for($i=100;i$1000;$i++)
{
$a = intval($i/100);
$b = intval($i/10)%10;
$c = $i%10;
if(pow($a,3)+pow($b,3))+pow($c,3) == $i)
{
echo $x.'/br';
}
}
?
C语言的"水仙花数"实现代码:
#include stdio.h
int main(void)
{
int a,b,c;
for(a=1;a=9;a++)
for(b=0;b=9;b++)
for(c=0;c=9;c++)
if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
printf("%d%d%d\n",a,b,c);
return 0;
}
PASCAL实现代码:
program shuixianhuashu;
var
a,b,c:integer;
begin
for a:=1 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
if a*a*a+b*b*b+c*c*c=100*a+10*b+c then writeln(100*a+10*b+c);
end.
Visual Basic的"水仙花数"实现代码:
Private Sub Form_Click()
Dim a, b, c As Integer 'a(个)b(十)c(百)
For a = 0 To 9
For b = 0 To 9
For c = 1 To 9
If a ^ 3 + b ^ 3 + c ^ 3 = a + 10 * b + 100 * c Then
MsgBox 100 * c + 10 * b + a
End If
Next c
Next b
Next a
End Sub
FORTRAN的"水仙花数"实现代码:
WRITE(*,30)
DO 10 K=100,999
IA=K/100
IB=MOD(K,100)/10
IC=MOD(K,10)
IF(K.NE.IA**3+IB**3+IC**3) GOTO 10
WRITE(*,20)K, IA,IB,IC
10 CONTINUE
20 FORMAT(5X,4I4)
30 FORMAT(5X,18HN=I**3+J**3+K**3)
STOP
END
C++编译器上的水仙花数实现代码
#includeiostream
using namespace std;
void main()
{
int a=100;
int q,w,e;
for(a;a1000;++a)
{
q=a/100;
w=(a-q*100)/10;
e=(a-q*100-w*10);
if(a==q*q*q+w*w*w+e*e*e)
couta"是水仙花数"endl;}
}
pyhon 中实现的代码
for i in range(1,10):
for j in range(0,10):
for k in range(0,10):
if i*100+j*10+k==i*i*i+j*j*j+k*k*k:
print i*100+j*10+k,
Java 中实现的代码
public class shuixianhua
{
public static void main(String[] args){
for(int i=1; i=9; i++)
for(int j=0; j=9; j++)
for(int k=0; k=9; k++)
if(i*i*i+j*j*j+k*k*k == 100*i+10*j+k)
System.out.print(i*100+j*10+k+" ");
}
}
所谓“水仙花数”,是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。
求水仙花数的程序,有多种写法,以下提供其中一种:
?php
header("content-type:text/html;charset=utf-8;"); //设置页面编码为 utf-8
//以下代码求解1000以内的水仙花数
echo 'p1000以内的水仙花数: /p';
for ( $i = 100; $i 1000; ++ $i )
{
$hundreds = floor( $i / 100); //分解出百位
$tens = floor( $i / 10 ) % 10; //分解出十位
$ones = floor( $i % 10 ); //分解出个位
if (bcpow($hundreds,'3')+bcpow($tens,'3')+bcpow($ones,'3') == $i)
echo $i."BR/";
}
?
运行结果截图: