矩阵算法问题

[复制链接]
查看11 | 回复9 | 2006-9-7 17:09:08 | 显示全部楼层 |阅读模式
进到这家单位没有多久,老总给我们出了一个编程题,用PL/SQL
输出一个矩阵,样子如下:
123456789 。。。。。。
246810 12 14 16 18
36912 15 18 21 24 27
4812 16 20 24 28 32 36
510 15 20 25 30 35 40 45
612 18 24 30 36 42 48 54
714 21 28 35 42 49 56 63
816 24 32 40 48 56 64 72
918 27 36 45 54 63 72 81







各位大侠,谁能用SELECT 语句完成此输出?
回复

使用道具 举报

千问 | 2006-9-7 17:09:08 | 显示全部楼层
潜水很多年了


回复

使用道具 举报

千问 | 2006-9-7 17:09:08 | 显示全部楼层
用下面的代码试试看,不过我没有用 select
DECLARE
v_row NUMBER;
v_col NUMBER;
BEGIN
FOR v_row IN 1..9 LOOP
FOR v_col IN 1..9 LOOP
IF (v_row * v_col) < 10 THEN
dbms_output.put(v_row * v_col || '');
ELSE
dbms_output.put(v_row * v_col || ' ');
END IF;

IF v_col = 9 THEN
dbms_output.put_line('');
END IF;
END LOOP;
END LOOP;
END;
回复

使用道具 举报

千问 | 2006-9-7 17:09:08 | 显示全部楼层
DECLARE
n
NUMBER := 9;
v_output VARCHAR2(3000) := '';
BEGIN
FOR i IN 1 .. n LOOP
v_output := '';
FOR j IN 1 .. n LOOP
v_output := v_output || ' ' || i * j;
END LOOP;
dbms_output.put_line(v_output);
END LOOP;
END;
回复

使用道具 举报

千问 | 2006-9-7 17:09:08 | 显示全部楼层
谁能用SELECT 语句完成此输出?
---
如果行,列数能确定就可以用 SELECT 语句完成
动态的 可能要用sql 块
回复

使用道具 举报

千问 | 2006-9-7 17:09:08 | 显示全部楼层


, 入门问题, 初学BASIC时做过.
回复

使用道具 举报

千问 | 2006-9-7 17:09:08 | 显示全部楼层
只要你有耐心:
select rownum, 2*rownum, 3*rownum, 4*rownum, ..., :n*rownum
from dual
connect by rownum <= :n;
回复

使用道具 举报

千问 | 2006-9-7 17:09:08 | 显示全部楼层
大家再开动开动脑筋,想想
回复

使用道具 举报

千问 | 2006-9-7 17:09:08 | 显示全部楼层
select max(sys_connect_by_path(ji, ''))
from (select i,

j,

i * j as ji,

rownum as iid,

rownum - 1 as upper_id

from (select level as i from dual connect by level <= &n),

(select level as j from dual connect by level <= &n)) a
connect by prior iid = upper_id
start with iid = (select min(iid)

from (select i,

rownum as iid,

rownum - 1 as upper_id

from (select level as i from dual connect by level <= &n),

(select level as j from dual connect by level <= &n)) b

where b.i = a.i)
group by i;
-------------------
9以内的好使,9以上的就不行了,为什么啊?
回复

使用道具 举报

千问 | 2006-9-7 17:09:08 | 显示全部楼层
到这个网站去看看,有很多算法的源代码
算法源码吧 http://www.sfcode.cn/
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行