การเขียน code วนลูป for แล้วรวมค่า ตัวเลขที่เป็นเลขคี่่
เราถนัด C# อ่า ไม่ว่ากันนะ นาย ลองเอาไปแกะดู โค็ดก็ประมาณว่าเราใช้ อนุกรมเข้ามาช่วยอา ขั้นแรกก็หาก่อนว่าตัวเลขที่เป็น Input ได้ค่า n เท่าไหร่ จากนั้นก็ใส่สมการ n^2 + 2n + 1 ซี่งเป็นสมการอนุกรมเลขคี่ แล้วก็ได้คำตอบออกมาเป็นตัวแปรประเภท double
ซึ่งแบบนี่น่าจะเร็วกว่าน๊าาาครับ
Code (C#)
double AddOod(double inputInt)
{
double answer = 0;
inputInt -= 1; //สมการเลขคี่ x = 2n + 1 เมื่อ n = 0, 1, 2, ........ และ x เป็นเลขคี่
double n = Math.Floor(inputInt / 2);
answer = (Math.Pow(n,2)) + (2 * n) + 1;
return answer;
}
แต่ถ้าจะเอาแปบบนั้นก็ได้อ่าาา
Code (C#)
static int AddOod(int inputInt)
{
int answer = 0;
int interger = 1;
while (interger <= inputInt)
{
answer += interger;
Console.Write(interger.ToString());
interger += 2;
}
return answer;
}
ได้ผลยังไงมาบอกบ้างเดออออขรับ
Date :
2012-12-07 22:01:37
By :
chamachu
เอามั้ง แต่เป็น linq
Code (C#)
public int[] CreateOodSeries(int length)
{
int[] ood = Enumerable.Range(0, length).Select(n => (2 * n) + 1).ToList().ToArray();
return ood;
}
เวลาเอาไปใช้
Code (C#)
// สร้าง array เลขคี่ 10 จำนวน (1, 3, 5, 7, 9, 11, 13, 15, 17, 19)
int[] odd = CreateOodSeries(10);
// จับ sum ซะ
int sumOod = odd.Sum();
Date :
2012-12-08 14:45:09
By :
ห้ามบอกเกินวันละ 2 กระทู้
Code (VB.NET)
dim x as integer = // ค่าสูงสุดที่ต้องการหา
dim i as integer
for i = 0 to x -1
if not i mod 2 =0 then
text1.text = text1.text + i.tostring()
end if
next
น่าจะประมาณนี้นะครับ ผิดพลาดประการใดขออภัย
Date :
2012-12-08 15:44:35
By :
yo
ได้แล้วครับ ผม ขอบคุณมากครับพี่ๆทุกท่าน
Date :
2012-12-10 20:25:48
By :
goomaiba007
Load balance : Server 05