Mathcenter Forum  

Go Back   Mathcenter Forum > คณิตศาสตร์ทั่วไป > ซอฟต์แวร์คณิตศาสตร์
สมัครสมาชิก คู่มือการใช้ รายชื่อสมาชิก ปฏิทิน ข้อความวันนี้

ตั้งหัวข้อใหม่ Reply
 
เครื่องมือของหัวข้อ ค้นหาในหัวข้อนี้
  #1  
Old 03 มิถุนายน 2001, 03:48
<อานนท์>
 
ข้อความ: n/a
Post โปรแกรม คำนวณหาผลรวมของตัวหารแท้

ตรงเฉลยข้อ 5 (http://www.mathcenter.net/ntheory/ntheory01/ntheory01p04.html) ของแบบฝึกหัดในเรื่องทฤษฎีจำนวนบทที่ 1 (http://www.mathcenter.net/ntheory/ntheory01/ntheory01p01.html) หนะครับ

ตรงส่วนที่คำนวณหาผลรวมของตัวหารแท้หนะครับ

long y = 0;
for (long i = 1; i<=(x/2); i++)
if ((x%i) == 0) y += i;

ผมสามารถคิดวิธีที่คำนวณได้เร็วกว่านี้ครับ
ผมลองใช้ perl เขียนได้อย่างนี้ครับ

my $y = 1; my $temp = sqrt($x);
for (my $i = 2; $i < $temp; $i++) {
use integer;
if (($x%$i) == 0) { $y += $i + $x/$i; };
};
if (int($temp) == $temp) { $y += $temp; };

ถ้าใช้ภาษา C ก็คงออกมาเป็นอย่างนี้ครับ

long y = 1; float temp = sqrt(x);
for (long i = 2; i < temp; i++) {
if ((x%i) == 0) y += i + x/i;
};
if (int(temp) == temp) y += temp;

ตัวที่เป็นภาษา C ยังไม่ได้ทดสอบครับว่ามี bug รึเปล่า
แต่ตัวที่เป็น perl นั่นลองรันทดสอบแล้วครับ

ถ้าเป็นแบบที่เฉลยไว้จะใช้ time complexity เป็น O(x^2) ครับ
แต่วิธีที่ผมใช้นั้นใช้เวลาเป็น O(x*sqrt(x)) ครับ

เช่นกันครับ วิธีนี้สามารถใช้ได้กับโจทย์ข้อ 2 และข้อ 6
ตอบพร้อมอ้างอิงข้อความนี้
  #2  
Old 06 มิถุนายน 2001, 19:21
gon's Avatar
gon gon ไม่อยู่ในระบบ
ผู้พิทักษ์กฎขั้นสูง
 
วันที่สมัครสมาชิก: 29 มีนาคม 2001
ข้อความ: 4,608
gon is on a distinguished road
Icon15

ครับ
ที่ผมทำไป ทำแบบทื่อ ๆ โดยไม่ได้
ใช้ความรู้คณิตศาสตร์มาเกี่ยวข้องเลยครับ.
คุณอานนท์ท่าทางจะเขียน C เป็นนะครับ.
ผมนึกว่าจะไม่มีคนดูบ้างซะอีก
ตอบพร้อมอ้างอิงข้อความนี้
  #3  
Old 09 มิถุนายน 2001, 03:47
tunococ tunococ ไม่อยู่ในระบบ
ลมปราณบริสุทธิ์
 
วันที่สมัครสมาชิก: 06 เมษายน 2001
ข้อความ: 118
tunococ is on a distinguished road
Post

ทำไม complexity ไม่ใช่ O(sqrt(x)) เหรอครับ?
ตอบพร้อมอ้างอิงข้อความนี้
  #4  
Old 09 มิถุนายน 2001, 13:20
<อานนท์>
 
ข้อความ: n/a
Post

ถ้าคำนวณตัวเดียวก็ sqrt(n)
แต่ถ้า n ตัวก็ n*sqrt(n)
ตอบพร้อมอ้างอิงข้อความนี้
  #5  
Old 16 มิถุนายน 2001, 11:36
tunococ tunococ ไม่อยู่ในระบบ
ลมปราณบริสุทธิ์
 
วันที่สมัครสมาชิก: 06 เมษายน 2001
ข้อความ: 118
tunococ is on a distinguished road
Post

n มันคืออะไรเหรอครับ? เห็นแต่ x?
ตอบพร้อมอ้างอิงข้อความนี้
ตั้งหัวข้อใหม่ Reply



กฎการส่งข้อความ
คุณ ไม่สามารถ ตั้งหัวข้อใหม่ได้
คุณ ไม่สามารถ ตอบหัวข้อได้
คุณ ไม่สามารถ แนบไฟล์และเอกสารได้
คุณ ไม่สามารถ แก้ไขข้อความของคุณเองได้

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
ทางลัดสู่ห้อง


เวลาที่แสดงทั้งหมด เป็นเวลาที่ประเทศไทย (GMT +7) ขณะนี้เป็นเวลา 19:19


Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Modified by Jetsada Karnpracha