Pascal语言用高精度求杨辉三角的第n项? 5
输入两个数n和m(1<=n,m<=101,m<=n),求在杨辉三角中第n行第m列的数。输入32,输出2,输入53,输出6。...
输入两个数n和m(1<=n,m<=101,m<=n),求在杨辉三角中第n行第m列的数。输入3 2,输出2,输入5 3,输出6。
展开
1个回答
展开全部
先来找找规律:
第一层:1 和=1
第二层:1 1 和=2
第三层:1 2 1 和=4
第三层:1 3 3 1 和=8
可以得到
第n层:和=2^(n-1)
在找一下2^(n-1)个位的规律:
1 [2 4 8 6] [2 4 8 6] [2 4 8 6] [2 4 8 6]
有循环
末位=
1 (n=1)
2 (n mod 4=2)
4 (n mod 4=3)
8 (n mod 4=0)
6 (n mod 4=1)
你好像不是要Pascal代码,不过已经写了……
const
a:array [1..4] of byte=(2,4,8,6);
var
n:longint;
begin
readln(n);
if n=1 then writeln(1)
else writeln(a[(n-2) mod 4+1]);
end.
第一层:1 和=1
第二层:1 1 和=2
第三层:1 2 1 和=4
第三层:1 3 3 1 和=8
可以得到
第n层:和=2^(n-1)
在找一下2^(n-1)个位的规律:
1 [2 4 8 6] [2 4 8 6] [2 4 8 6] [2 4 8 6]
有循环
末位=
1 (n=1)
2 (n mod 4=2)
4 (n mod 4=3)
8 (n mod 4=0)
6 (n mod 4=1)
你好像不是要Pascal代码,不过已经写了……
const
a:array [1..4] of byte=(2,4,8,6);
var
n:longint;
begin
readln(n);
if n=1 then writeln(1)
else writeln(a[(n-2) mod 4+1]);
end.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询