两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

模擬,屬于入門級算法,顧名思義,就是讓電腦按照題目所給出的方法來運(yùn)行,最終輸出所需要的結(jié)果的過程。本篇主要是從模擬算法的概念和實(shí)例進(jìn)行講解和分析。


一、模擬的概念

(1)模擬的介紹

模擬就是用計(jì)算機(jī)來模擬題目中要求的操作。

模擬題目通常具有碼量大、操作多、思路繁復(fù)的特點(diǎn)。由于它碼量大,經(jīng)常會出現(xiàn)難以查錯(cuò)的情況,如果在考試中寫錯(cuò)是相當(dāng)浪費(fèi)時(shí)間的。


(2)模擬的技巧

寫模擬題時(shí),遵循以下的建議有可能會提升做題速度:

(1)在動(dòng)手寫代碼之前,在草紙上盡可能地寫好要實(shí)現(xiàn)的流程。

(2)在代碼中,盡量把每個(gè)部分模塊化,寫成函數(shù)、結(jié)構(gòu)體或類。

(3)對于一些可能重復(fù)用到的概念,可以統(tǒng)一轉(zhuǎn)化,方便處理:如,某題給你 "YY-MM-DD 時(shí):分" 把它抽取到一個(gè)函數(shù),處理成秒,會減少概念混淆。

(4)調(diào)試時(shí)分塊調(diào)試。模塊化的好處就是可以方便的單獨(dú)調(diào)某一部分。

(5)寫代碼的時(shí)候一定要思路清晰,不要想到什么寫什么,要按照落在紙上的步驟寫。

實(shí)際上,上述步驟在解決其它類型的題目時(shí)也是很有幫助的。


二、模擬的實(shí)例講解

例題一:

給定兩個(gè)整數(shù)A和B,輸出他們的和。題目要你算A+B,你就算,這就是模擬。

#include<iostream>
using namespace std;
int main()
{
    int a,b;
    cout<<"請輸入兩個(gè)整數(shù)(空格分隔):";
    cin>>a>>b;
    cout<<"和為:"<<a+b<<endl;
    return 0;
}


例題二:

國王將金幣作為工資,發(fā)放給忠誠的騎士。第一天,騎士收到一枚金幣;之后兩天(第二天和第三天),每天收到兩枚金幣;之后三天(第四、五、六天),每天收到三枚金幣;之后四天(第七、八、九、十天),每天收到四枚金幣……;這種工資發(fā)放模式會一直這樣延續(xù)下去:當(dāng)連續(xù) n天每天收到 n 枚金幣后,騎士會在之后的連續(xù) n+1天里,每天收到 n+1枚金幣。

請計(jì)算在前 k 天里,騎士一共獲得了多少金幣。

代碼如下:

#include<iostream>
using namespace std;
 
int main()
{
    int K,sum=0,n=0,i=1;
    cout<<"請輸入k值:";
    cin>>K;
    while(n!=K)
        {
        for(int j=1;j<=i;j++)
            {
                sum+=i;
                n++;
                if(n==K)
                break;
            }
            i++;
        }
        cout<<sum<<endl;
return 0;
}


例題三:

一只長度不計(jì)的蠕蟲位于n英寸深的井的底部。它每次向上爬u英寸,但是必須休息一次才能再次向上爬。在休息的時(shí)候,它滑落了d英寸。之后它將重復(fù)向上爬和休息的過程。蠕蟲爬出井口需要至少爬多少次?如果蠕蟲爬完后剛好到達(dá)井的頂部,我們也設(shè)作蠕蟲已經(jīng)爬出井口。


解題思路

直接使用程序模擬蠕蟲爬井的過程就可以了。用一個(gè)循環(huán)重復(fù)蠕蟲的爬井過程,當(dāng)攀爬的長度超過或者等于井的深度時(shí)跳出。


參考代碼

#include <cstdio>

int main(void) {
  int n = 0, u = 0, d = 0;
  std::scanf("%d%d%d", &u, &d, &n);
  int time = 0, dist = 0;
  while (true) {  // 用死循環(huán)來枚舉
    dist += u;
    time++;
    if (dist >= n) break;  // 滿足條件則退出死循環(huán)
    dist -= d;
  }
  printf("%d\n", time);  // 輸出得到的結(jié)果
  return 0;
}


點(diǎn)贊(0)

C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:

一點(diǎn)編程也不會寫的:零基礎(chǔ)C語言學(xué)練課程

解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程

從零到寫出一個(gè)爬蟲的Python編程課程

只會語法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程

信息學(xué)奧賽或C++選手的 必學(xué)C++課程

藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程

手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程

Dotcpp在線編譯      (登錄可減少運(yùn)行等待時(shí)間)