在Pascal中評分較高 緊急程式設計問題

發布 教育 2024-07-29
15個回答
  1. 匿名使用者2024-01-31

    有兩種方法可以做到這一點:

    第一種型別:程式考試17;

    var a,b:integer;

    beginwrite('a,b=');

    readln(a,b);

    a:=a+b;

    b:=a-b;

    a:=a-b;

    end.第二個(在按位運算中使用異或運算);

    program exam17;

    var a,b:integer;

    beginwrite('a,b=');

    readln(a,b);

    a:=a xor b;

    b:=a xor b;

    a:=a xor b;

    運算通常用於否定二進位的特定位,因為 XOR 可以定義如下:0 和 1 保持不變或 0,XOR 1 被否定。

    也就是說,對於二進位數的每個位:

    1 xor 1=0

    1 xor 0=1

    0 xor 1=1

    0 xor 0=0

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

    它可以在沒有中間變數幫助的情況下進行交換,但輸入的數量不要太大,而且這種技術不會導致生產力的提高,所以希望你在學習計算機時不要誤入歧途。

    以下是你要找的東西::

    program exam17;

    var a,b: integer;

    beginwrite('a,b=');

    readln(a,b);

    a:=a+b;

    b:=a-b;

    a:=a-b;

    writeln('a=',a,',b=',b);

    end.上面的程式是在 delphi 下執行的,執行示例如下:

    D:臨時檔案 DCC32

    borland delphi versioncopyright (c) 1983,2002 borland software corporation

    13 lines, seconds, 11148 bytes code, 1805 bytes data.

    d:臨時檔案

    a,b=2 3

    a=3,b=2

    d:臨時檔案

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

    a:=a-b;(a=a-b b=b)

    b:=a+b;(a=a-b b=a)

    a:=b-a;(a=b b=a)

    括號左邊是變數 a 和 b 的中間位置,右邊是變數的值。

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

    大家都沒事,遇到問題就什麼都不在乎,一下子全部複製,複製到最後有意思嗎???

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

    1.看大象的收藏,其實不是,而是有點畫素數的篩分法。 首先構建結構:

    tman = record

    rel: byte;

    ref: byte;

    end;2.表示成員的人際關係,初始時間為man[i]。rel = i;它是引用計數,最後使用。

    從 1 開始,遍歷與關係中與 1 有關係的所有成員,然後將該成員設定為 1。 例如,在 2 之後遍歷 man[2]rel 不再是 2,而是變成 1,然後 rel 將被感染。

    如果是這樣,那麼 2 將繼續將基因從 1 傳遞到 4,從而形成人類[4]。rel=man[2].rel=man[1].

    rel=1;一直持續到 n 的末尾。

    3. 程式如下:

    program project1;

    typetman = record

    rel: byte;

    ref: byte;

    end;var

    man: array[1..100] of tman;

    rel: array[1..200, 0..1] of byte;

    n, k, i, j: integer;

    beginreadln(n, k);

    for i := 1 to k do

    readln(rel[i, 0], rel[i, 1]);

    for i := 1 to n do

    beginman[i].rel := i;

    man[i].ref := 0;

    end;for i := 1 to n dofor j := 1 to k do

    beginif rel[j, 0] = i thenman[rel[j, 1]].rel := man[i].

    relelse if rel[j, 1] = i thenman[rel[j, 0]].rel := man[i].

    rel;end;for i := 1 to n doinc(man[man[i].rel].ref);

    j := 0;

    k := 0;

    for i := 1 to n do

    beginif man[i].ref > 0 theninc(j);

    if man[i].ref > k thenk := man[i].ref;

    end;writeln('---', ##10, j, ' ', k);

    readln;

    end.

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

    我會給你程式的想法,但你自己編造程式。 不,你不能。

    根據初等數論,很明顯,我們可以用餘數除法來解決這個問題。

    首先,您將資金轉換為基礎。 例如,(672)10=(1650)7

    然後先要求單邊給,這是純加法運算,非常簡單,只需要找到以 7 為基數系統下的數字之和即可。 1+6+5=12。

    下一步是找錢。 這個想法的核心就在這裡。 你怎麼找錢?

    讓我們單獨看一下十進位數字上的數字。 可以得到4是中間數,這個數字無論是純加法還是找錢所需的張數都是一樣的。 也就是說,我可以給4張牌,或者我可以給你一張比現在的面值大的牌,然後你可以找到3張牌。

    為了便於理解,我舉個例子:錢數是 11,底數是 7 是 14。 別看7塊給,只從剩下的4塊分析,我可以給4塊1塊,或者我可以給1塊7塊,你找3塊和快,錢的數是4塊。

    綜上所述,我們可以推斷出,當數字 4 為個位數時,我們可以使用純加法(因為我們都使用相同的簡單方法),而當使用數字 4 時,我們可以用來找錢。

    繼續開頭的示例。 1650、6>4、5>4的七壘制,所以應該找錢。 如何找到它?

    6進一處,所以要給7 3也就是343元,而不是6塊49元,5進一處,所以你也應該給49塊,而不是5塊7元。

    請參閱下面的**。

    捐錢 2 1

    找錢 1 2

    我們發現,給出 49 並找到 49 抵消了它; 給出乙個 7 以找到 2 個 7 的偏移量。

    因此,我們可以將每個位元中給錢和找錢之間的差值相加,2+2=3 張牌。

    讓我們來驗證一下。 672=343*2-7*2。沒錯。

    那麼,讓我也談談如何以程式設計方式實現這個概念? 我不會談論純粹的加法,但分離數就可以了。 我建議你定義乙個陣列來做,就像上面的**一樣,兩個陣列存錢找錢,然後找差,如果有負號就去掉它,然後求和。

    當然,不要忘記在最後進行比較。

    你可以問我任何問題。 我希望會有額外的積分,謝謝。

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

    直到晚上 9 點現在你想要它嗎?

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

    問題 1 dp

    問題 2:USACO 月度競賽。

    第三個問題是貪婪。

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

    您好,這個問題是這樣想的:

    完美數是這個數字除自身之外的除數之和,例如,6 的除數有 ,1+2+3=6,所以 6 是乙個完美數。

    在這個問題中,我們首先列舉從1到10000的所有數字,逐個找到數字的所有除數,將它們相加,最後看看約束的總和是否等於這個數字。

    程式如下:程式lxc;

    vari,j,k:integer;

    開始主程式。

    對於 i:=1 到 10000,請列舉 1 到 10000 的 i

    開始一一處理 10,000 個數字。

    k:=0;k 是除數之和,初始化為 0。

    對於 j:=1 到 i div2 do 由於乙個數的除數必須小於這個數字,並且它必須小於或等於這個數字的一半,現在有必要列舉從 1 到 i div 2 的所有小於 i 的數字。

    如果 i mod j = 0,則 i mod j=0,這意味著 j 可以被 i 整除,表明這個 j 是 i 的除數。

    k:=k+j;因此,將 k 新增到這個除數中。

    if k=i then writeln(i);最後,在找到所有除數並將它們的所有值相加到 k 後,當 k 和 i 相等時,i 是乙個完美數,則輸出 i

    end;列舉完成。

    end.收工。

    執行結果:628

    謝謝你,祝你好運!

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

    乙個完整的數字是乙個數字,其中數字的因子之和等於它自己的數字。

    var i,j,s:integer;

    beginfor i:=1 to 10000 do

    begins:=0;

    for j:=1 to i div 2 doif i mod j =0 then s:=s+j;

    if s=i then writeln(i);

    end;end.

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

    vari,s,j:longint;定義開始

    對於 i:=3 到 10000,每個數字執行 3 到 10000。

    beginfor j:=2 to i div 2 do if i mod j=0 then if it is the factor s:=s+j; 總結。

    如果 s=i,則最終確定如果因子之和等於自身,則輸出 writeln(i);

    s:=0;計數重置為 0

    end;end.

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

    我們可以看一下隨機函式的定義:

    random(n):表示隨機整數的生成在[0,n]之間,可以直接用random語句表示[0,1]個數的隨機生成。

    我們知道 [means include,) 表示不包括在內,所以隨機語句只會產生乙個從 0 到 1 的數字,而不是 1。

    readln 語句指示在遇到第乙個換行符之前讀取資料。

    我們知道,在FP中,程式一旦完成執行就會退出DOS螢幕,您可以按Alt + F5檢視DOS螢幕的內容。

    像上面一樣,在程式的末尾新增乙個 readln,相當於讓程式讀取一行資料(沒有實際用處),然後等待使用者輸入一行資料後再結束執行,這可以起到暫停程式的作用。

    writeln 語句是輸出一行資料,輸出完資料後,程式就結束了,當然程式結束後也會返回頁面。

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

    它不應該是隨機的 1。

    第二個我知道。

    writeln 是乙個換行語句,只表示輸出結果後會開始換行,如果是 readln,則表示會讀取資料,因此可以直接讀取。

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

    隨機生成的數字 (0-899) 與 100 相加,保證它必須是三位數。

    2.至於第二個,在您輸入回車號後,螢幕將繼續重新整理,否則它將停留在列印頁面上。 直到您呼叫回車。

    是直接輸出。 當然不是。 雖然這兩個都是換行符。

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

    1 簡單的判斷。

    varscore:longint;

    beginreadln(score);如果 score>85 則 writeln('very good');判斷是否高於85分。

    elsebegin

    if score<60 then writeln('bad'判斷60分是否是地獄。

    else writeln('good');

    end;end.

    2 從問題可以看出,當月有生育能力的兔子數量等於上個月的兔子總數,那麼當月的兔子總數就是上個月的兔子數量(原件)+上個月的兔子數量(新生兒)。

    vara,b,c,i:longint;

    begina:=1;上個月。

    b:=2;上個月。

    for i:=3 to 12 do

    beginc:=a+b;查詢當月的兔子數量。

    a:=b;上個月變成了上個月。

    b:=c;這個月變成了乙個山月。

    end;1 月和 2 月是已知的,當前月份是 12 月經過十個週期(c); 輸出當月的兔子數量

相關回答
13個回答2024-07-29

定義變數 i=0

一鍵,設定:i++ >>>More

2個回答2024-07-29

以下問題經常被我問到,總結並與讀者分享。 >>>More

7個回答2024-07-29

1.你不認為你在打字。

2.“a>b>c”不應該用帕斯卡寫,它應該寫成(a>b)和(a>c)。 >>>More

18個回答2024-07-29

不知道你的意思,隨機顯示多少條資料記錄? >>>More

17個回答2024-07-29

1、office password remover

目前尚不清楚它是如何工作的,因為它是乙個可以破譯 MS Word 和 Excel 文件檔案的即時工具,但您需要連線到 Internet 才能使用此軟體,因為需要傳送到軟體伺服器並解密的資料很少。 但是,您可以放心,該軟體不會洩露任何個人私隱。 該軟體僅刪除密碼,不會顯示您的原始密碼。 >>>More