You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pari/GP中以更低开销拼接向量及交换变量引用?

优化Pari/GP生成OEIS序列A060322的低开销实现方案

我正在优化用于生成OEIS序列A060322元素的现有Pari/GP程序。我的代码比现有程序快很多,但拼接向量和交换变量引用的操作浪费了大量栈空间与时间。是否存在低开销的实现方式?

当前代码如下:

A060322(N) = {
    my(a=Vec([1, 1, 1, 1, 2], N), p=[], q=[5]); 
    for(n=6, N, 
        r=concat([
                  [4*x+1 | x<-p],
                  [4*x\3 | x<-p, 1==x%6],
                  [2*x\3 | x<-q, 5==x%6]
                 ]);
        a[n]=a[n-1]+#r; 
        p=q; 
        q=r);
        a 
    }

目前我想到的方法是用一个包含三个向量的向量替代p、q、r三个独立向量,通过可变索引引用各向量来避免复制,但这种方式较为繁琐,且向量拼接的问题仍未解决。

内容的提问来源于stack exchange,提问作者Joe Slater

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 00:37:02