PDA

View Full Version : سوال: c# - سری فیبوناچی با حلقه های تو در تو



Medrik
جمعه 03 مرداد 1393, 10:39 صبح
با سلام خدمت دوستان .



کسی از دوستان میتونه یه نمونه کد در مورد سری فیبوناچی با حلقه های تو در تو با c# رو برام بنویسه یا راهنمایی کنه در مورد آلگوریتمش

ممنون میشم به سوالم جواب بدید ...

abbas.oveissi
جمعه 03 مرداد 1393, 10:52 صبح
میتونید از یک حلقه هم برای حلش استفاده کنید.حتما نیاز هست با حلقه های تو در تو باشه؟!

Mori Bone
جمعه 03 مرداد 1393, 11:50 صبح
الگوریتم خاصی نداره:
۰٬ ۱٬ ۱٬ ۲٬ ۳٬ ۵٬ ۸٬ ۱۳٬ ۲۱٬ ۳۴٬ ۵۵٬ ۸۹٬ ۱۴۴٬ ۲۳۳٬ ۳۷۷٬ ۶۱۰٬ ۹۸۷٬ ۱۵۹۷٬ ۲۵۸۴٬ ۴۱۸۱٬ ۶۷۶۵٬ ۱۰۹۴۶٬ ۱۷۷۱۱
هر عدد حاصل جمع دو عدد قبلشه

Medrik
جمعه 03 مرداد 1393, 13:01 عصر
میتونید از یک حلقه هم برای حلش استفاده کنید.حتما نیاز هست با حلقه های تو در تو باشه؟!



بله حتما باید از حلقه های تو در تو استفاده بشه ...


الگوریتم خاصی نداره:
۰٬ ۱٬ ۱٬ ۲٬ ۳٬ ۵٬ ۸٬ ۱۳٬ ۲۱٬ ۳۴٬ ۵۵٬ ۸۹٬ ۱۴۴٬ ۲۳۳٬ ۳۷۷٬ ۶۱۰٬ ۹۸۷٬ ۱۵۹۷٬ ۲۵۸۴٬ ۴۱۸۱٬ ۶۷۶۵٬ ۱۰۹۴۶٬ ۱۷۷۱۱
هر عدد حاصل جمع دو عدد قبلشه


میشه یک نمونه کد برای c# بنویسید ؟ ممنون میشم

khokhan
جمعه 03 مرداد 1393, 13:45 عصر
میشه یک نمونه کد برای C#‎ بنویسید ؟ ممنون میشم


using System;using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;


namespace fibo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int iPrevious = -1;
int iNext = 1;
int iNumber;

private void button1_Click(object sender, EventArgs e)
{
iNumber = int.Parse(textBox1.Text);


for (int i = 0; i < 20; i++)
{


int iSum = iNext + iPrevious;
iPrevious = iNext;
iNext = iSum;


listBox1.Items.Add(iNext.ToString());
}
}
}
}

Medrik
جمعه 03 مرداد 1393, 14:09 عصر
using System;using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;


namespace fibo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int iPrevious = -1;
int iNext = 1;
int iNumber;

private void button1_Click(object sender, EventArgs e)
{
iNumber = int.Parse(textBox1.Text);


for (int i = 0; i < 20; i++)
{


int iSum = iNext + iPrevious;
iPrevious = iNext;
iNext = iSum;


listBox1.Items.Add(iNext.ToString());
}
}
}
}




ممنون ... ولی گفتم که باید با حلقه های تو در تو باشه ...

Ali.hitter
جمعه 03 مرداد 1393, 14:23 عصر
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
string StringOf(string mainStr, int str)
{

string a = mainStr.Substring(str - 1);
string b = a.Remove(1);
return b;
}
string Oppositer(string str)
{
int LI = str.Length - 1;
string LSO = StringOf(str, LI);
string a = str.Substring(LI); ;
while (LSO.Length <= LI)
{
LSO = StringOf(str, LI + 0);
a += LSO;
LI--;
}
return a;
}
string LastCamasBG(string mainStr)
{
int LCI = mainStr.LastIndexOf(",");
string FBCS = mainStr.Substring(LCI - 1,1);
bool a = FBCS == ",";
string str = "";
while (a == false)
{
FBCS = mainStr.Substring(LCI - 1, 1);
str += FBCS;
LCI--;
a = FBCS == ",";
}
str = str.Remove(str.Length - 1);
if (str.Length > 1)
{
str = Oppositer(str);
}
return str;
}
string AfterLastCamas(string mainStr)
{
mainStr = mainStr.Substring(mainStr.LastIndexOf(","));
mainStr = mainStr.Substring(1);
return mainStr;
}
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
string str = ",1,1";
int a = int.Parse(LastCamasBG(str));
int b = int.Parse(AfterLastCamas(str));
int c = a + b;
while (c < 600000)
{
a = int.Parse(LastCamasBG(str));
b = int.Parse(AfterLastCamas(str));
c = a + b;
str += "," + c.ToString();
}
textBox1.Text = str;
}
}
}

Medrik
جمعه 03 مرداد 1393, 14:48 عصر
ممنون از دوستانی که کمک کردند ولی یادم رفت یه چیزی بگم که باید با حلقه های تو در توی for اینکارو انجام بدم ...

من اینو با یه حلقه نوشتم کسی میتونه همینو ویرایش کنه به شکل حلقه های تو در تو در بیاره ؟ :قلب:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FiBoNaChi
{
class Program
{
static void Main(string[] args)
{


// peida kardane serie fibonachi ta 20 adad ...


// Fibonachi : Har Adad Hasel Jame 2 Adade Ghabli Mibashad !

int Ghabli = -1; // bayad 0 bashe !
int Badi = 1; // bayad 1 bashe ! :


int Sum;


for (int i = 0; i < 20; i++)
{


Sum = Badi + Ghabli;

Ghabli = Badi;

Badi = Sum;


//---------------------

Console.Write("\n " + Badi);
}


Console.ReadKey();





}
}
}

farhad.k.t
جمعه 03 مرداد 1393, 17:29 عصر
سلام دوست عزیز از کد زیر هم می توانید استفاده کنید...
public partial class Form1 : Form
{
int a = 1;
int b=1;


for (int c = 0; ;c=a+b )
{
a = b;
b = c;
MessageBox.Show(c.ToString());
}

موفق باشید.....