รวมข้อสอบคอม (หลายๆที่)

โพสต์เมื่อ: 20:46 วันที่ 17 ก.ย. 2548         ชมแล้ว: 15,045 ตอบแล้ว: 18
วิชาการ >> กระทู้ >> ทั่วไป
สำหรับคนที่อยากลองฝีมือนะครับ ผมเอามาจาก สอวน. นะครับข้อนี้ อันนี้ง่ายที่สุดแล้วอยากให้ลองคิดเล่นๆครับ

หากทำงานตามขั้นตอนต่อไปนี้
1. รับเลขจำนวนเต็ม m และ n เป็น input
2. ให้เลขจำนวนเต็ม x มีค่าเป็น 0
3. ถ้า m เป็นเลขคี่ บวก x กับ n เก็บผลลัพธ์ไว้ที่ x
4. หาร m ด้วย 2 (ถ้ามีเศษน้อยกว่าหนึ่งปัดทิ้ง) เก็บผลลัพธ์ไว้ที่ m
5. คูณ n ด้วย 2 เก็บผลลัพธ์ที่ n
6. ถ้า m มากกว่า 0 กลับไปขั้นตอนที่ 3
7. รายงานค่า x เป็นผลลัพธ์

ความสัมพันธ์ระหว่าง m, n, x คือ

ก. m+n=x
ข. mn = x
ค. m = n+x
ง. 2m+n=x



อีกข้อนึงครับ อันนี้ง่ายกว่ามากๆ รับรองว่าทุกคนต้องทำได้แน่นอน
กำหนดให้ลำดับขั้นตอนของคำสั่งมีดังนี้
1. กำหนดให้ k = 999 i = 1 และ p = 0
2. ถ้า k มากกว่า i จะไปทำขั้นที่ 3 มิฉะนั้นจะไปทำขั้นที่ 5
3. กำหนดให้ i มีค่าเพิ่มขึ้น 2 เท่า จากเดิม และให้ p มีค่าเพิ่มขึ้นจากเดิม 5
4. ไปทำขั้นที่ 2
5. แสดงค่า p

หลังจบแล้ว p เป็นเท่าไร
ก. 45
ข. 50
ค. 512
ง. 1024


มีอีก 10 กว่าข้อ ถ้าคิดสองข้อนี้ได้แล้วจะนำข้อที่เหลือมาฝาก แต่ถ้ายังไม่มีใครคิดได้ก็เก็บไว้ก่อนนะครับ เมื่อยมือ =.=;


attapon56
ร่วมแบ่งปัน84 ครั้ง - ดาว 152 ดวง

จำนวน 18 ความเห็น, หน้าที่ | -1-
ความเห็นเพิ่มเติมที่ 1 18 ก.ย. 2548 (12:39)
อันนี้ข้อสอบโอลิมปิกรอบ 1 โดยส่วนตัวผมว่าง่ายกว่า สอวน. มากๆเลยแหละครับ แต่ทำไมมันหลายๆภาษาจัง ตอนนี้มีเวลาพิมพ์ให้ซักข้อแล้วกัน เอาข้อที่น่าคิดหน่อยนะครับ ส่วนข้อง่ายๆเดื๋ยวกลับมาพิมพ์ให้อีกรอบ



จากส่วนของโปรแกรมต่อไปนี้ จงตอบคำถาม



r: = 0;

i := 1;

while(i<=n)do

begin

for j := to n do

r := r+1;

i := 1*2

end





ถ้า n มีค่าเท่ากับ 128 หลังจากจบการทำงานแล้ว r มีค่าเป็นเท่าใด

ก. 896

ข. 8192

ค. 1024

ง. ไม่มีข้อใดถูก





ในบรรทัดที่ 5 ถ้าเปลี่ยนจาก for j:=1 to n เป็น for j:=1 to j หลังจากจบการทำงานแล้ว r มีค่าเป็นเท่าใด ถ้า n มีค่าเท่ากับ 128

ก. 120

ข. 255

ค. 1024

ง. 11050





ติดตามตอนต่อไปได้เร็วๆนี้น่อ
attapon56
ร่วมแบ่งปัน84 ครั้ง - ดาว 152 ดวง

ความเห็นเพิ่มเติมที่ 2 18 ก.ย. 2548 (12:42)
งานนี้คุณ samongi น่าจะชอบนะครับ ^^
attapon56
ร่วมแบ่งปัน84 ครั้ง - ดาว 152 ดวง

ความเห็นเพิ่มเติมที่ 3 3 ต.ค. 2548 (02:55)
เพิ่มให้สองข้อครับ : )



1. แสดงผลลัพธ์ของ



int i;

for(i=0;i<100&&(i%2)==0;i+=25)

printf("%d",i);





2. จากเลขจำนวนเต็มที่รับเข้ามาเป็น 1903 จำนวนใหฒ่ที่ได้จาก โปรแกรมคือ ?



int main()

{ int x,d,i,num=0;

scanf("%d",&x);

for(i=1; x;i++)

{

d=x%10;

x=x/10;

num=num*10+d;

}

printf("result = %d",num);

return 0;

}
liptontea
ร่วมแบ่งปัน10 ครั้ง - ดาว 152 ดวง

ความเห็นเพิ่มเติมที่ 4 3 ต.ค. 2548 (09:23)
อีกข้อนึงครับ อันนี้ง่ายกว่ามากๆ รับรองว่าทุกคนต้องทำได้แน่นอน

กำหนดให้ลำดับขั้นตอนของคำสั่งมีดังนี้

1. กำหนดให้ k = 999 i = 1 และ p = 0

2. ถ้า k มากกว่า i จะไปทำขั้นที่ 3 มิฉะนั้นจะไปทำขั้นที่ 5

3. กำหนดให้ i มีค่าเพิ่มขึ้น 2 เท่า จากเดิม และให้ p มีค่าเพิ่มขึ้นจากเดิม 5

4. ไปทำขั้นที่ 2

5. แสดงค่า p



หลังจบแล้ว p เป็นเท่าไร



*ตอบ ข้อก. p = 45 ครับ
x9y17k2b
ร่วมแบ่งปัน27 ครั้ง - ดาว 152 ดวง

ความเห็นเพิ่มเติมที่ 5 3 ต.ค. 2548 (09:31)
1. แสดงผลลัพธ์ของ



int i;

for(i=0;i<100&&(i%2)==0;i+=25)

printf("%d",i);



*น่าจะแสดงว่า 25 มั้ง
x9y17k2b
ร่วมแบ่งปัน27 ครั้ง - ดาว 152 ดวง

ความเห็นเพิ่มเติมที่ 6 3 ต.ค. 2548 (14:40)
ปิ้น.......... เข้ามาตั้งแต่เมื่อไรเนี่ย





ที่พี่คิดได้ 50 นะ :P เดื๋ยวคิดให้ใหม่ เผื่อคิดผิด
attapon56
ร่วมแบ่งปัน84 ครั้ง - ดาว 152 ดวง

ความเห็นเพิ่มเติมที่ 7 3 ต.ค. 2548 (14:53)
เอาล่ะ 50 แน่นอนแล้ว บอกให้สองอย่างนะ



เริ่มจากตอนสอบไม่มีคอมใช่ม๊ะก็เรามาดูกันว่าทำยังไงให้ I มันมากกว่า 999



ข้อนี้ไม่ยากครับ เพราะเป็นอะไรที่แน่นอนมาก ถ้ามันให้ I+1 นี่ยังจะยากกว่าอีก



เราลองทำตามคอมเลย จะได้



ค่า P ตามช้อยที่เป็นไปได้คือ 45 และ 50 เพราะ 512 กะ 1024 หาร 5 ไม่ลง ถ้า p บวกทีละ 5 เป็นไปไม่ได้ที่ p จะหารด้วย 5 ไม่ลง และตรงนี้เอง เป็นตัวบอกเราว่าจะ loop ทั้งหมดกี่ครั้ง เอา 5 หารได้

9 ไม่ก็ 10 ครั้ง



1 x 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 (คูณ 2 กำลัง 9)

ได้ 512 ครับ ซึ่งแน่นอน ถ้า loop อีกรอบจะได้ 1024 มันเกินแล้ว





หึหึหึ อย่าเพิ่งดีใจไปครับ น้องลืม loop ครั้งสุดท้ายรึป่าว O.o;

ถึงตอนนั้น i จะเป็นซักกี่ล้าน แต่ ค่า p ต้อง +5 รอบสุดท้ายนะคับ



จะได้ P = 50 ^^;
attapon56
ร่วมแบ่งปัน84 ครั้ง - ดาว 152 ดวง

ความเห็นเพิ่มเติมที่ 8 3 ต.ค. 2548 (14:53)
ตรวจด้วยภาษา PHP นะครับ ง่ายดีไม่ต้อง include แบบ C พอดีเปิดดรีมค้างไว้





<?php

$k = 999;

$i = 1;

$p = 0;



while($k>$i){

$i *= 2;

$p += 5;

}





echo $p;

?>





ได้ 50 จริงๆด้วยครับ ^^
attapon56
ร่วมแบ่งปัน84 ครั้ง - ดาว 152 ดวง

ความเห็นเพิ่มเติมที่ 9 3 ต.ค. 2548 (15:49)
คห. 3 ผมงงๆกับโจทย์ข้อแรกอยู่นิดๆอ่ะครับ ถ้า for ไม่ใช้ {} นี่มันจะรวม printf ไปด้วย ซึ่งคำตอบที่ได้มันจะแตกต่างกันหรือปล่าว



int i;

for(i=0;i<100&&(i%2)==0;i+=25){}

printf("%d",i);



ไม่รู้นะ แต่ถ้าดูๆแล้ว เงื่อนไข I<100 และ I หารสองลงตัว เป็นจริง มันน่าจะจบที่ 0 แล้ว i += 25 ก็น่าจะตอบ 25 แบบปิ้นว่า ขอบคุณคุณ liptontea มากๆนะครับ ^^
attapon56
ร่วมแบ่งปัน84 ครั้ง - ดาว 152 ดวง

ความเห็นเพิ่มเติมที่ 10 3 ต.ค. 2548 (15:53)
for(i=1; x;i++)



สำหรับข้อสองผมงงๆอ่ะครับ ไม่เข้าใจว่ามันคืออะไร ความรู้ไม่ถึงครับ T.T;
attapon56
ร่วมแบ่งปัน84 ครั้ง - ดาว 152 ดวง

ความเห็นเพิ่มเติมที่ 11 4 ต.ค. 2548 (00:01)
ติดข้อไหนลอง complie ดูครับ : )

base on C



เอาไว้ว่าง ๆ จะมานั่งพิมพ์ให้นะครับ....
liptontea
ร่วมแบ่งปัน10 ครั้ง - ดาว 152 ดวง

ความเห็นเพิ่มเติมที่ 12 4 ต.ค. 2548 (17:38)
ถึงคุณ liptontea ครับ





คือบ้านผมไม่มีตัว complie อ่ะครับ ปรกติไม่ได้เขียน C บ่อยๆเลยไม่ได้โหลดเก็บไว้ ทุกทีจะตรวจคำตอบนี่ก็เขียนเป็น php อ่าคับ :P เดื๋ยวนี้ให้มาเขียน C ยัง include ไม่ค่อยจะถูกเลย ได้แต่ไวยกรณ์นิดๆเองอ่ะคับ
attapon56
ร่วมแบ่งปัน84 ครั้ง - ดาว 152 ดวง

ความเห็นเพิ่มเติมที่ 13 17 ก.ย. 2550 (15:37)
1246554
ดำ นา (IP:58.147.44.218)

ความเห็นเพิ่มเติมที่ 14 2 ก.พ. 2551 (10:55)
เก่งตายล่ะ
วีพะนรบย (IP:125.24.192.82)

ความเห็นเพิ่มเติมที่ 15 4 ก.พ. 2551 (13:35)
งง

เราอ่อนคอมมากๆๆค๊าฟ
asd@qwe.com (IP:58.10.103.178)

ความเห็นเพิ่มเติมที่ 16 19 มี.ค. 2551 (02:06)
Nice site!
Nikolet (IP:201.116.123.126)

ความเห็นเพิ่มเติมที่ 17 29 ก.ค. 2551 (15:35)
เเจ๋ว
simon_love (IP:203.172.199.250)

ความเห็นเพิ่มเติมที่ 18 28 ก.ย. 2552 (20:42)

I'm มืด ตึ๊บ


patcharaporn30@hotmail.com (IP:124.157.147.110)

จำไว้ตลอด

ความเห็นเพิ่มเติม วิชาการ.คอม
ชื่อ / email:
ข้อความ

กรุณาล๊อกอินก่อน เพื่อโพสต์รูปภาพ และ ใช้ LaTex ค่ะ สมัครสมาชิกฟรีตลอดชีพที่นี่
กรอกตัวอักษรตามภาพ
ตัวช่วย 1: CafeCode วิธีการใช้
ตัวช่วย 2: VSmilies วิธีการใช้
ตัวช่วย 3: พจนานุกรมไทย ออนไลน์ ฉบับราชบัณฑิต
ตัวช่วย 4 : dictionary ไทย<=>อังกฤษ ออนไลน์ จาก NECTEC
ตัวช่วย 5 : ดาวน์โหลด โปรแกรมช่วยพิมพ์ Latex เพื่อแสดงสมการบนวิชาการ.คอม