PASCAL 問題(一系列環形線圈)。

發布 教育 2024-06-12
13個回答
  1. 匿名使用者2024-01-29

    列舉。。。

    儲存在陣列中,逐個列舉,並記錄最大值的位置。

  2. 匿名使用者2024-01-28

    解決思路已在樓上詳細給出,標記為已傳送到郵箱,請查收。

  3. 匿名使用者2024-01-27

    從標題的含義我們可以得到。

    任何 p 項都是正數,所以 sn+p>sn 和 sn+qs0>sq 然後我們用乙個圖來表示這種關係。

    如果圖中有環,則不可行。

    如果圖中沒有迴圈,則對圖拓撲進行排序,生成的序列為 (s1, s2......sn) 序列從小到大排序。

    由於 s0=0 為方便起見,只需要將序列分配給遞增序列,即 s0 分配給 -1、-2、-3 ......挨次、s0,然後向後返回到 1、2、3 ......能。

    然後,根據 an=sn-sn-1,我們可以恢復原始序列,得到乙個可行的解:演算法複雜度 o(n 2) 空間複雜度 o(n 2),至於標準範圍,因為已經寫了很長時間了,所以找不到。

    對不起。

  4. 匿名使用者2024-01-26

    (我真的不明白為什麼n這麼小)(長整容沒問題) var i,n:integer;

    a:array[1..45] of longint;

    beginreadln(n);

    a[1]:=0;

    a[2]:=1;

    for i:=3 to n do a[i]:=a[i-2]+a[i-1];

    writeln(a[n]);

    end.

  5. 匿名使用者2024-01-25

    N確實很小,但我的程式可以容納較大的n,而樓上則不能。

    我的程式可以處理比他的更寬的範圍,並且使用更少的空間,無論它有多大,都不會改變占用空間的大小。

    vari,n:longint;

    a1,a2,a3:qword;

    beginreadln(n);

    a1:=0;

    a2:=1;

    for i:=3 to n do begina3:=a2+a1;

    a1:=a2;

    a2:=a3;

    end;writeln(a3);

    end.

  6. 匿名使用者2024-01-24

    你沒有找到模式嗎?

    構建陣列。

    初始化:先輸入 n 0,再輸入 n 1

    放入 n 0 + n 1, n 2, n 2 + n 0, n 2 + n 1, n 2 + n 0 + n 1, n 3 ......

    也就是說,每次新增新的 n 次冪時,新冪和陣列中的所有數字都會新增到新冪中。

    把它放在下乙個裡面。

    明白了? 實現應該很簡單!

    還有一種轉換方法,但沒有上述方法,所以我認為這就是您正在使用的。

    如果你沒有處理好這個方法的細節,它就會出錯,所以你應該按照我教你的方法寫乙個副本。試試吧。

  7. 匿名使用者2024-01-23

    不是很困難,寫個好挑逗銀子,看滲水,大手指有問題我就改。·

  8. 匿名使用者2024-01-22

    根據標題,只有乙個數字被擦除,因此被擦除的數字前面的數字在被擦除後仍然在自己的位置上,被擦除的數字後面的位置減少了 1。

    根據上面的分析,掃瞄整個陣列,記錄每個數字在自己位置的情況,並在自己的位置加1,例如,輸入兩個陣列a和b,然後巢狀陣列a和b進行巢狀迴圈掃瞄,分別擦除每個位置後計算剩餘的數字,最終得到最大的數字輸出。

    這樣,第一次掃瞄輸入的週期數為n個週期,第二次掃瞄A和B最多為n*(n+1)2個週期,按照目前計算機的執行速度,當n不超過1000時,應在1s內完成。

  9. 匿名使用者2024-01-21

    樓上的問題我沒看,刪除的號碼是任意的,不是乙個。 否則,這真的是乙個水問題。

    但即便如此,這個問題也只是乙個非常簡單的動作。 f[a,b] 表示當 ath 數字在 b 數字中時可以進行的最大匹配。

    由於我不喜歡思考邊界,所以我通常將其寫成期刊搜尋。

    var i,j,n:longint;

    s:array[1..1001]of longint;

    f:array[1..1001,1..1001]of longint;

    h:array[1..1001,1..1001]of boolean;

    function max(a,b:longint):longint;

    beginif(a>b)then exit(a);

    exit(b);

    end;function search(a,b:longint):longint;

    beginif(h[a,b])then

    exit(f[a,b]);

    if(a>n)then exit(0);

    search:=search(a+1,b);

    if(s[a]=b)then

    search:=max(search,search(a+1,b+1)+1)

    elsesearch:=max(search,search(a+1,b+1));

    h[a,b]:=true;

    f[a,b]:=search;

    end;begin

    readln(n);

    for i:=1 to n do

    read(s[i]);

    writeln(search(1,1));

    end.沒有測試過其他資料。 請更正任何錯誤。

  10. 匿名使用者2024-01-20

    當 n=3 時,格式如何如上所示?

  11. 匿名使用者2024-01-19

    以你為例...... 如果將其更改為二進位,則 100=64+32+4 為 1100100

    求三元系統中1100100的權重... 它是 729+243+9=981,僅此而已。

    換句話說,2(6)+2(5)+2(2)變成3(6)+3(5)+3(2)。

  12. 匿名使用者2024-01-18

    首先將 n 轉換為二進位數。

    然後將 1 的位置加到 k 的相應冪上,忽略 0。

    似乎需要高精度。

  13. 匿名使用者2024-01-17

    這是有規律的。

    program sl;

    vara:array [1..2000] of longint;

    i,j,k:longint;

    n:longint;

    beginreadln(k,n);

    a[1]:=1;

    a[2]:=k;

    i:=2;while i<=512 do

    begina[i]:=a[i div 2]*k;

    for j:=i+1 to i*2-1 doa[j]:=a[i]+a[j-i];

    i:=i*2;

    end;writeln(a[n]);

    readln;

    end.保證交流電

相關回答
8個回答2024-06-12

2an-2^n=sn

2a(n-1)-2^(n-1)=s(n-1) >>>More

3個回答2024-06-12

1. 主場 – 每支球隊與小組中的其他球隊進行兩場比賽。 為了公平起見,兩場比賽在兩支球隊所屬的地區分別進行。 對於乙個團隊來說,在自己區域進行的比賽稱為球隊的主場比賽(取自在自己家中擔任東道主並與來自湖南的客人一起玩的遊戲)。 >>>More

13個回答2024-06-12

火車以70公尺的恆定速度通過大橋,實際行駛距離是大橋的長度+火車的長度,即70+30=100公尺,所以小火車的速度是100 1=100公尺分鐘。 >>>More

22個回答2024-06-12

錯誤的想法。 如果您想在此類問題中犯錯誤,請按照以下公式操作: >>>More