導航:首頁 > 源碼編譯 > 簡單的演算法題

簡單的演算法題

發布時間:2022-11-30 04:00:35

⑴ 給出一些基本的演算法問題並給出答案

C語言演算法基礎
演算法(Algorithm):計算機解題的基本思想方法和步驟。演算法的描述:是對要解決一個問題或要完成一項任務所採取的方法和步驟的描述,包括需要什麼數據(輸入什麼數據、輸出什麼結果)、採用什麼結構、使用什麼語句以及如何安排這些語句等。通常使用自然語言、結構化流程圖、偽代碼等來描述演算法。
一、計數、求和、求階乘等簡單演算法
此類問題都要使用循環,要注意根據問題確定循環變數的初值、終值或結束條件,更要注意用來表示計數、和、階乘的變數的初值。
例:用隨機函數產生100個[0,99]范圍內的隨機整數,統計個位上的數字分別為1,2,3,4,5,6,7,8,9,0的數的個數並列印出來。
本題使用數組來處理,用數組a[100]存放產生的確100個隨機整數,數組x[10]來存放個位上的數字分別為1,2,3,4,5,6,7,8,9,0的數的個數。即個位是1的個數存放在x[1]中,個位是2的個數存放在x[2]中,……個位是0的個數存放在x[10]。
void main()
{ int a[101],x[11],i,p;
for(i=0;i<=11;i++)
x[i]=0;
for(i=1;i<=100;i++)
{ a[i]=rand() % 100;
printf("%4d",a[i]);
if(i%10==0)printf("\n");
}
for(i=1;i<=100;i++)
{ p=a[i]%10;
if(p==0) p=10;
x[p]=x[p]+1;
}
for(i=1;i<=10;i++)
{ p=i;
if(i==10) p=0;
printf("%d,%d\n",p,x[i]);
}
printf("\n");
}
二、求兩個整數的最大公約數、最小公倍數
分析:求最大公約數的演算法思想:(最小公倍數=兩個整數之積/最大公約數)
(1) 對於已知兩數m,n,使得m>n;
(2) m除以n得余數r;
(3) 若r=0,則n為求得的最大公約數,演算法結束;否則執行(4);
(4) m←n,n←r,再重復執行(2)。
例如: 求 m=14 ,n=6 的最大公約數. m n r
14 6 2
6 2 0
void main()
{ int nm,r,n,m,t;
printf("please input two numbers:\n");
scanf("%d,%d",&m,&n);
nm=n*m;
if (m<n)
{ t=n; n=m; m=t; }
r=m%n;
while (r!=0)
{ m=n; n=r; r=m%n; }
printf("最大公約數:%d\n",n);
printf("最小公倍數:%d\n",nm/n);
}
三、判斷素數
只能被1或本身整除的數稱為素數 基本思想:把m作為被除數,將2—INT( )作為除數,如果都除不盡,m就是素數,否則就不是。(可用以下程序段實現)
void main()
{ int m,i,k;
printf("please input a number:\n");
scanf("%d",&m);
k=sqrt(m);
for(i=2;i<k;i++)
if(m%i==0) break;
if(i>=k)
printf("該數是素數");
else
printf("該數不是素數");
}
將其寫成一函數,若為素數返回1,不是則返回0
int prime( m%)
{int i,k;
k=sqrt(m);
for(i=2;i<k;i++)
if(m%i==0) return 0;
return 1;
}

⑵ 簡便演算法怎麼做

簡便運算
這是小學數學計算題中最常見的一種。從學生一開始接觸計算就從各個不同的角度滲透了簡便運算的思想,到了四年級在計算題中簡便運算則做為獨立的題型正式出現,它是計算題中最為靈活的一種,能使學生思維的靈活性得到充分鍛煉,對提高學生的計算能力將起到非常大的作用。 何謂簡便運算,這是一個非常簡單的問題,但要正確地理解它,決不能為了追求簡便的形式而進行簡便運算。對此,我的理解是:簡便運算應該是靈活、正確、合理地運用各種定義、定理、定律、性質、法則等等,改變原有的運算順序進行計算,通過簡便運算要大幅度地提高計算速度及正確率,使復雜的計算變得簡單[2] 。也就是說:最重要的是靈活、合理地運用各種定義、定理、定律、性質、法則。尤其要強調「靈活」、「合理」。下面就我在教學中遇到的情況,談談我的看法。
1、「4.9+0.1-4.9+0.1」這是小學數學第八冊練習二十七第二題中的一道非常簡單的常見簡便運算題。當我給學生布置了這道題後,我以為學生會毫不猶豫地使用加法交換率和結合率,順利完成此題,但是當我批改學生的作業時,卻發現了以下三種情況:
①、4.9+0.1-4.9+0.1=(4.9-4.9)+(0.1+0.1);
②、4.9+0.1-4.9+0.1=4.9-4.9+0.1+0.1;
③、4.9+0.1-4.9+0.1=(4.9+0.1)-(4.9+0.1)。
顯然第③種簡算是錯誤的,因為它違反了四則運算順序,其簡算結果絕對不等於原題的結果。問題就出在第①種和第②種解法上,第①種解法的簡算過程非常標准,無懈可擊;第②種解法看上去好象不太標准,但是也有道理。於是,我組織學生進行了討論,結果學生分成了截然相反的兩派。一方認為:第①種解法絕對正確,而第②種解法不規范,沒有明確標明簡便運算的過程,所以不能算對。另一方認為:第①種解法非常標准,肯定正確無疑,但是,第②種解法也是對的,因為按運算順序從左往右,先算4.9-4.9,實際上就得0,其實就不用算,直接計算0.1+0.1就行了,簡算過程其實也很明確。

⑶ 31-19最簡單的演算法

最簡單的計算方法
31-19
我們在運算這道減法計算題時,可根據題中運算數據的特點,例舉出三種簡便的運算方法來運算這道題。
運算方法一:化整題中的減數即:
31-19=31-20+1=11+1=12
運算方法二:根據減數分解被減數即:31-19=29+2-19=10+2=12
運算方法三:使用湊整法運算這道題即:31-19=30+1-20+1=10+=12以上我們例舉出了三種簡便的運算方法運算了這道題,這三種運算方法運算這道題都非常的簡便快捷,運算這道題也非常的方便容易。

⑷ 小學簡便計算題64道,簡單的!

★例1 1.24+0.78+8.76

解 原式=(1.24+8.76)+0.78

=10+0.78

=10.78

【解題關鍵和提示】

運用加法的交換律與結合律,因為1.24與8.76結合起來,和正好是整數10。

★例2 933-157-43

解 原式=933-(157+43)=933-200=733

【解題關鍵和提示】

根據減法去括弧的性質,從一個數里連續減去幾個數,可以減去這幾個數的和。因此題157與43的和正好是200。

★例3 4821-998

=4821-1000+2=3823

【解題關鍵和提示】

此題中的減數998接近1000,我們就把它變成1000-2,根據減法去括弧性質,原式=4821-1000+2,這樣就可口算出來了,計算熟練後,998變成1000-2這一步可省略。

★例4 0.4×125×25×0.8

解 原式=(0.4×25)×(125×0.8)=10×100=1000

【解題關鍵和提示】

運用乘法的交換律和結合律,因為0.4×25正好得10,而125×0.8正好得100。

★例5 1.25×(8+10)

解 原式=1.25×8+1.25×10=10+12.5=22.5

【解題關鍵和提示】

根據乘法分配律,兩個加數的和與一個數相乘,可用每一個加數分別與這個數相乘,再把所得的積相加。

★★例6 9123-(123+8.8)

解 原式=9123-123-8.8=9000-8.8=8991.2

【解題關鍵和提示】

根據減法去括弧的性質,從一個數里減去幾個數的和,可以連續減去這幾個數,因為9123減去123正好得9000,需要注意的是減法去掉括弧後,原來加上8.8現已變成減去8.8了。

★★例7 1.24×8.3+8.3×1.76

解 原式=8.3×(1.24+1.76)=8.3×3=24.9

【解題關鍵和提示】

此種解法是乘法分配律的逆運用。即幾個數同乘以一個數的和,可用這幾個數的和乘以這個數。

★★例8 9999×1001

解 原式=9999×(1000+1)=9999×1000+9999×1

=10008999

【解題關鍵和提示】

此題把1001看成1000+1,然後根據乘法的分配律去簡算。

【解題關鍵和提示】

此題中運用了兩次乘法分配律,因此不能只滿足第一次簡算成功,要繼續尋找合理靈活的演算法,直到全部結束。

【解題關鍵和提示】

此題根據需要,運用了兩次減法去括弧的性質。

★★★例11 14.8×6.3-6.3×6.5+8.3×3.7

解 原式=(14.8-6.5)×6.3+8.3×3.7

=8.3×6.3+8.3×3.7

=8.3×(6.3+3.7)

=8.3×10

=83

【解題關鍵和提示】

此題中的8.3×3.7不能在第一次簡算時誤看作6.3×3.7,第一次它不能參與簡算,那麼就把它照抄下來,看後面是否有機會。第一次簡算的結果正好出現了8.3×6.3,這樣可以進行第二次簡算。

★★★例12 32×125×25

解 原式=4×8×125×25

=(4×25)×(8×125)

=100×1000

=100000

【解題關鍵和提示】

把32分解成4×8,這樣125×8和25×4都可得到整百、整千的數。

⑸ 這8題簡便演算法怎麼算

第一題:1.25找0.8算乘法可以得到整數,用這個整數可以和別的小數去算,更簡單,一般有125算乘法就找8哦
第二題:提公因式法a*b+c*b=(a+c)*b,可以看成兩個不同的數字乘以一個相同的數字,然後做加法,那就可以先拿出相同的那個數,然後先做不同的那兩個數的加法,在用加法的結果乘以拿出的那個相同的數,一般情況下,不同的兩個數做加法後都是一個整數哦
第三題:同第二題
第四題:同第一題,一般有25就找4,先算2.5乘以4得到的整數和另一個數在做計算哦
第五題:接近整數的小數,按照整數計算在做減法比較簡單,9.98*(10-0.1)=9.98*10-9.98*0.1哦
第六題:同第一題和第四題,看見125和25時候找8或4,沒有的情況下,剩餘的一個數字一般情況下可以拆分出8和4,6.4可以拆為0.8*4*2哦
第七題:同第二題

⑹ 大公司筆試面試有哪些經典演算法題目

1、二維數組中的查找

具體例題:如果一個數字序列逆置之後跟原序列是一樣的就稱這樣的數字序列為迴文序列。例如:{1, 2, 1}, {15, 78, 78, 15} , {112} 是迴文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是迴文序列。現在給出一個數字序列,允許使用一種轉換操作:選擇任意兩個相鄰的數,然後從序列移除這兩個數,並用這兩個數字的和插入到這兩個數之前的位置(只插入一個和)。現在對於所給序列要求出最少需要多少次操作可以將其變成迴文序列?



⑺ 簡便計算練習題

簡便計算練習題
一、我會填。22分
1.用字母表示下面的運算定律。
加法交換律,加法結合律,
2.根據運算定律,在橫線上填上適當的數。
54×22=22×69+33+67=69+(+67)
102×57=×57+×5743+55+57+45=(43+)+(55+)
3.用簡便方法計算389+692+11,要先算(),
這樣計算是根據()律。
4.比一比。
125×8×25×4○125×8+25×440×15○16×40
12×6+6×28○6×(12+28)287-37+63○287―37―63
200÷4×5○200÷(4×5)2400÷3÷8○1200÷24
5.連一連,下面算式分別運用了什麼運算定律。
25×125×4×8=(25×4)×(125×8)
A×B×C=A×C×B乘法交換律
4×125×8=4×(125×8)乘法結合律
(40+4)×25=40×25+4×25乘法分配律
125×(4+8)=125×4+125×8
二、判斷4分
1.256-(128+56)=256-56-128()
2.35×37+65×37=(37+65)×35()
3.98×47=100×47-2()
4.531-297=531-300+3()
三、選擇4分
1.49×12÷49×12的簡便演算法是()。
A.49÷49×12×12B.49×12÷(49×12)C.49×12×12÷49
2.532-266+34的簡便演算法是()。
A.532-(266+34)B.532+34-266C.532+(266+34)
3.32+29+68+41=32+68+(29+41)這是根據()。
A.加法交換律B.加法結合律C.加法交換律和結合律
4.下面算式中()運用了乘法分配律。
A.42×(18+12)=42×30B.25×(4×8)=25×4×8
C.4×a×5=a×(4×5)D.a×b+a×C=a×(b+C)
四、我能算。46分
1.口算。12分
347-147=480—101+1=75×5×(16-16)=245+155=
22×5=43+189+57=27×16+73×16=18×ll=
396—28—22=11×8×125=62×(100+l)=13×7=
2.怎樣簡便怎樣計算。24分
44×2599×5364×64+64×36
329+38+623874-(874+550)9000÷125÷8
360÷45136×101-136
3.列式計算6分
(1)甲數是6,乙數是8,它們的和的25倍是多少?
(2)303個165減去303個65,差是多少?
4.下面的計算正確嗎?正確打「√」,錯誤打「×」,並改正。4分
25×(40+4)85+46+54-25
=25×40+4=(85+25)-(46+54)
=1000+4=100-100
=1004=0
五、解決問題。24分。
1.下表中5名同學的平均體重是多少千克?
姓名
小芳
小紅
小明
小東
小莉
體重(千克)
23
32
28
30
27
2.新星印刷感謝廠4月份印各種圖書共245萬冊。其中科技書印了127萬冊,雜志類印了73萬冊,其餘是學生用書。學生用書印了多少萬冊?
3.學校共買來34套課桌椅,一張桌子135元,一把椅子65元。一共花了多少元錢?
4.一本相冊有32頁,每頁可以插5張照片。小紅家有800張照片,幾本相冊才夠用?
5.商店運來4車麵粉,每車55袋,每袋25千克。一共運來多少千克麵粉?
6.商場開展優惠酬賓活動,凡購物滿200元回贈現金50元。小東媽媽帶了650元到商場購物,請你幫她算一算,她最多能買到多少錢的物品?

⑻ 2.8×9.9+28簡易演算法題

簡便計算,2.8×9.9+28。

簡便計算思路:我們進行簡便計算的話,可以使用乘法運算的分配律或結合律或除法運算的的性質和規律進行計算,得到我們計算簡便的效果。那麼這里要進行簡便計算的話,可以嘗試下28化為2.8×10,然後提出2.8,進行括弧里的內容,這樣會比較簡便一些。

詳細的計算過程如下
2.8×9.9+28
=2.8×9.9+2.8×10
=2.8×(9.9+10)
=2.8×20-2.8×0.1
=56-0.28
=55.72

所以,這是可以通過上面的簡便計算過程,得到答案是55.72。

(8)簡單的演算法題擴展閱讀:解題思路:在計算豎式計算乘法運算的時候,先通過其中一位數的第一位乘以另一位數,得到一步答案。然後依次計算從低位到高位的乘以另外一位數,得到幾步答案。最後把得到的所有答案累加,就可以得到最後的答案。

2.8×19.9=55.72
第一步:0.9×2.8=2.52
第二步:9×2.8=25.2
第三步:10×2.8=28,
第三步:累加上面三步計算答案,得到55.72

所以,可以通過豎式計算的乘法運算,得到答案是55.72。

閱讀全文

與簡單的演算法題相關的資料

熱點內容
利用python實現數據可視化 瀏覽:829
js接收php數據 瀏覽:165
為什麼程序員天生就適合做管理者 瀏覽:754
創維雲app怎麼連接電視 瀏覽:168
將命令方塊 瀏覽:136
安卓照片怎麼去掉位置信息 瀏覽:19
木刻解壓視頻大全 瀏覽:881
單片機紅外計數 瀏覽:960
江西物聯網守時模塊伺服器雲主機 瀏覽:867
java反射好處 瀏覽:125
ftp伺服器地址列表 瀏覽:756
蘋果下載過的app怎麼看 瀏覽:317
命令行啟動oracle 瀏覽:887
本機文件夾如何轉移cd卡 瀏覽:34
app怎麼設置注音 瀏覽:375
學生選修管理系統源碼 瀏覽:494
馬卡龍pdf 瀏覽:235
武漢python爬蟲培訓 瀏覽:396
微信伺服器連接失敗是什麼原因 瀏覽:694
命令行執行sql腳本亂碼 瀏覽:751