1.分别求1-100内奇数/偶数的和,并打印出来
在ORACLE:
set serveroutput on;
declare
num1 number(8):=1;
sum1 number(8):=0;
sum2 number(8):=0;
begin
loop
sum1:=sum1+num1;
sum2:=sum2+num1+1;
num1:=num1+2;
if num1>100 then exit;
end if;
end loop;
dbms_output.put_line('1-100内奇数的和:'||sum1);
dbms_output.put_line('1-100内偶数的和:'||sum2);
end;
commi;
--------------------------------------------------------------------------
在PYTHON:
i = 1
sum1=0
sum2=0
while int(i) <= 100:
sum1 = sum1 + i
sum2 = sum2 + i + 1
i = i + 2
print(f'奇数的和:{sum1}')
print(f'偶数的和:{sum2}')
==========================================================================
2.求1-100内能被3整除,不能被5整除的数字
在ORACLE:
set serveroutput on;
DECLARE
n number(8):=1;
BEGIN
loop
n:=n+1;
if n>100 then exit;
elsif MOD(n,3)=0 and MOD(n,5)<>0 then dbms_output.put_line(N||', ');
end if;
end loop;
END;
方法二:for循环
begin
for i in 1..100 loop
if mod(i,3)=0 and mod(i,5)<>0 then dbms_output.put_line(i);
elsif i>100 then exit;
end if;
end loop;
end;
--------------------------------------------------------------------------
在PYTHON:
while循环:
x=2
while x<=100:
if x%3==0 and x%5!=0:
print(x)
x += 1
for循环:
print([i for i in range(1, 101) if i % 3 == 0 and i % 5 != 0])
==========================================================================
3..打印乘法表
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
...需要两层循环,外层循环控制第一个乘数,内层循环控制第二个乘数。
在Oracle:
set serveroutput on;
方法一:Loop循环:
declare
i int:=1;
j int:=1;
begin
loop
loop
dbms_Output.put(i||'*'||j||'='||i*j||' ');
j:=j+1;
exit
when j>i;
end loop;
dbms_output.put_line('');
i:=i+1;
j:=1;
exit
when i>9;
end loop;
end;
方法二:for循环:
declare
begin
for i in 1..9 loop
for j in 1..i loop
dbms_output.put(i||'*'||j||'='||i*j||' ');
end loop;
dbms_output.new_line;
end loop;
end;
方法三:while 循环:
declare
i int:=0;
j int:=0;
begin
while i<=9 loop
j:=1;
while j<=i
loop
dbms_Output.put(i||'*'||j||'='||i*j||' ');
dbms_output.put('');
j:=j+1;
end loop;
dbms_output.new_line;
i:=i+1;
end loop;
end;
-------------------------------------------------------------------------------------------------------------
python:参考大神>>>> https://blog.csdn.net/cui_yonghua/article/details/95719103
4..求所有的水仙花数
水仙花数是一个三位数,每一位数字的3次幂的和正好等于这个数本身。
declare
v_num1 number;
v_num2 number;
v_num3 number;
v_num number:=100;
begin
while v_num<1000
loop
v_num1:=mod(v_num,10);--个位132,2
v_num2:=mod(floor(v_num/10),10);--十位132,3
v_num3:=floor(v_num/100); --百位132,1
if v_num=power(v_num1,3)+power(v_num2,3)+power(v_num3,3) then
dbms_output.put(v_num||' ');
end if;
v_num:=v_num+1;
end loop;
dbms_output.put_line(' ');
end;
python:
print(143//100) #baiwei
print(143//10%10) #shiwei
print(143%10) #gewei
print([ i for i in range(100,1000) if(i//100)**3+(i//10%10)**3+(i%10)**3==i ])