当前位置:首页 » 编程语言 » sql水仙花

sql水仙花

发布时间: 2022-04-02 17:17:15

sql server中把100-999之间所有水仙花数求出来

153、370、371、407

貌似只有你这一种写法,因为公式单一。。。

我JAVA里也就这样写。。。
必须声明3个
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+" ");
}
}

❷ 编写一个计算机程序,找出100-999之间的所有“水仙花数”。

C语言
#include<stdio.h>
void main()
{
int i,j,k,n;

for(i=1;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
{
n=i*100+j*10+k;
if((i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))
printf("水仙花数为:%d\n",n);
}
}

❸ 用SQL语句 编写水仙花数

declare @a int,@b int,@c int,@s int,@num int
set @a=1
set @num=0
while @a<=9
begin
set @b=0
while @b<=9
begin
set @c=0
while @c<=9
begin
if power(@a,3)+power(@b,3)+power(@C,3)=@a*100+@b*10+@c
begin
set @s=@a*100+@b*10+@c
print str(@s,3,0)+'是水仙花数.'
set @num=@num+1
end
set @c=@c+1
end
set @b=@b+1
end
set @a=@a+1
end
print str(@num,3,0)+'个数被找到!'

❹ 用sql语句编写程序,输出所有的水仙花数,并存为脚本文件。

问题描述不够精确,SQL是哪个数据库的?存为脚本文件是哪种脚本?
ORACLE/MSSQL/SYBASE/MySQL等语法均有不同,符合标准的SQL干不了这个事儿。

❺ sql算数问题

按你的理解 这个是要输出什么结果呢,你上面的代码就是输出的 0 0 2 2

❻ SQL代码求助,看详情,在线等

declare@iint,@mint,@oint
set@i=2
while@i<=100
begin
set@m=2
set@o=0
while@m<=@i/2
begin
if@i%@m=0
begin
set@o=@o+1
end
set@m=@m+1
end
if@o=0
begin
print@i
end
set@i=@i+1
end
/*
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
*/

declare@iint,@jint,@kint,@nint
set@i=1
while@i<10
begin
set@j=0
while@j<10
begin
set@k=0
while@k<10
begin
set@n=@i*100+@j*10+@k
ifpower(@i,3)+power(@j,3)+power(@k,3)=@n
begin
print@n
end
set@k=@k+1
end
set@j=@j+1
end
set@i=@i+1
end
/*
153
370
371
407
*/

❼ 求水仙花数,SQL

找到后,其各个数之立方和等于该数,153=1^3+5^3+3^3
,例如153水仙花数是一个三位数,即为一水仙花数,再导入sql中去。但用sql能编出来吗?你可以用其它的语言编好

❽ 求水仙花数,SQL

declare @n as int,@b as int,@s as int,@g as int
set @n=100
while @n<1000
begin
set @b=cast(substring(cast(@n as varchar(3)),1,1) as int)
set @s=cast(substring(cast(@n as varchar(3)),2,1) as int)
set @g=cast(substring(cast(@n as varchar(3)),3,1) as int)
if power(@b,3)+power(@s,3)+power(@g,3)=@n
begin
print @n
end
set @n=@n+1
end
---------------------------------------
运行结果是:
153
370
371
407

❾ 用sql语句,编写程序输出所有的水仙花数。帮我看看下面程序有什么问题,为什么得不到结果

其实你已经写完了,不过你忘了一件重要的事,重置循环用的变量。

下面是我帮你改过的,只加了两行,用注释帮你标明了,仔细看一下吧。

begin
declare@gint,@sint,@bint,@numint
set@g=0
set@s=0
set@b=1
while(@b<=9)
begin
set@s=0--这行是我加的,重置十位从0开始
while(@s<=9)
begin
set@g=0--这行是我加的,重置个位从0开始
while(@g<=9)
begin
set@num=@g+@s*10+@b*100
if(@num=power(@g,3)+power(@s,3)+power(@b,3))
print@num
set@g=@g+1
end
set@s=@s+1
end
set@b=@b+1
end
end

下面是执行结果

153
370
371
407

❿ 使用T-SQL语言统计100-1000之间的水仙花数个数并打印输出.

declare@numint
set@num=99

declare@n1int--第一位数
declare@n2int--第二位数
declare@n3int--第三位数
declare@nint--N次方
declare@resultint--次方相加的结果
set@n=3
while@num<=1000
begin
set@num=@num+1
set@n1=convert(int,substring(convert(varchar(10),@num),1,1))
set@n2=convert(int,substring(convert(varchar(10),@num),2,1))
set@n3=convert(int,substring(convert(varchar(10),@num),3,1))

set@result=power(@n1,@n)+power(@n2,@n)+power(@n3,@n)
if@result=@num
begin
print'结果'+convert(varchar(20),@result)+'['+convert(varchar(20),@num)+']'+'N:'+convert(varchar(20),@n)
end
end

现在我是把n设置成固定数值3做的,你再加一个循环就可以了

热点内容
网络设置里没有服务器是什么 发布:2025-01-18 09:52:19 浏览:343
阿里云esc服务器系统 发布:2025-01-18 09:49:16 浏览:790
你们家的无线网密码是多少 发布:2025-01-18 09:47:50 浏览:729
renderscriptandroid 发布:2025-01-18 09:32:18 浏览:993
安卓手机如何拍游戏素材 发布:2025-01-18 09:30:59 浏览:348
广州日立压缩机有限公司 发布:2025-01-18 09:15:08 浏览:624
服务器两条宽带如何叠加网速 发布:2025-01-18 08:52:17 浏览:731
oracle存储过程集合 发布:2025-01-18 08:42:39 浏览:885
洋葱数学缓存 发布:2025-01-18 08:38:36 浏览:919
电影的文件夹都是 发布:2025-01-18 08:21:49 浏览:835