473,385 Members | 2,029 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

How to do fibonacci by linked list ( not by recursive)

because in linked list each node contains only one digit like

curr->nodevalue_1= 0
curr->nodevalue_2=1
sum->nodevalue = curr->nodevalue_1 + curr->nodevalue_2

so when the number go up to >10 or >100 and the linked list need another
node (I can add the node to the front ) but how can do the sum ?

ex: 89+144 = 233
how can I add it to the sum linked list?
please help ( remember not a recursive problem)

Jul 19 '05 #1
11 6326
"fighterman19" <fi**********@comcast.net> wrote...
because in linked list each node contains only one digit like
Is that a requirement or just your understanding of linked lists?

curr->nodevalue_1= 0
curr->nodevalue_2=1
sum->nodevalue = curr->nodevalue_1 + curr->nodevalue_2

so when the number go up to >10 or >100 and the linked list need another
node (I can add the node to the front ) but how can do the sum ?

ex: 89+144 = 233
how can I add it to the sum linked list?
please help ( remember not a recursive problem)


What's the problem? Can't you implement addition with carry-over?

0 => carry.
label_1:
next_digit1 + next_digit2 + carry => result.
if result > 9 then
1 => carry.
result - 10 => result.
else
0 => carry.
end-if
store result
if have_more_digits go to label_1

I don't see C++ language issue here, BTW.

Victor
Jul 19 '05 #2
fighterman19 wrote:
because in linked list each node contains only one digit like

curr->nodevalue_1= 0
curr->nodevalue_2=1
sum->nodevalue = curr->nodevalue_1 + curr->nodevalue_2

so when the number go up to >10 or >100 and the linked list need another
node (I can add the node to the front ) but how can do the sum ?

ex: 89+144 = 233
how can I add it to the sum linked list?
please help ( remember not a recursive problem)


Why on earth would you use a linked list for this? Your question doesn't
make much sense.

-Kevin
--
My email address is valid, but changes periodically.
To contact me please use the address from a recent posting.

Jul 19 '05 #3
fighterman19 wrote:
because in linked list each node contains only one digit like

curr->nodevalue_1= 0
curr->nodevalue_2=1
sum->nodevalue = curr->nodevalue_1 + curr->nodevalue_2

so when the number go up to >10 or >100 and the linked list need another
node (I can add the node to the front ) but how can do the sum ?

ex: 89+144 = 233
how can I add it to the sum linked list?
please help ( remember not a recursive problem)


May I suggest that you take a stab at doing your own homework, and then
post your code, instead of asking us to do it for you?

Jul 19 '05 #4
Where the hell in my post that you see I YOU or other people to do my
homework for me?

I just want to know how to handle this logic. Did I ask for the entire
program?
and if YOU can't do it (or whatsoever that make you think you are good and
whoever ask in this group is stupid) so SHUT YOUR FUCKING MOUTH UP

if all the members in this group are like YOU, this group is not gonna exist
because noone will ask any questions.

by the way "THANK SO MUCH" even YOU are not helpful

"red floyd" <no*****@here.dude> wrote in message
news:%E******************@newssvr27.news.prodigy.c om...
fighterman19 wrote:
because in linked list each node contains only one digit like

curr->nodevalue_1= 0
curr->nodevalue_2=1
sum->nodevalue = curr->nodevalue_1 + curr->nodevalue_2

so when the number go up to >10 or >100 and the linked list need another node (I can add the node to the front ) but how can do the sum ?

ex: 89+144 = 233
how can I add it to the sum linked list?
please help ( remember not a recursive problem)


May I suggest that you take a stab at doing your own homework, and then
post your code, instead of asking us to do it for you?

Jul 19 '05 #5
!!!!!!!!!!!...........???

Sorry is it C++?
I have no idea what it is. May be I have not learned this one yet. Is there
anyway to do with linked list?

"Victor Bazarov" <v.********@attAbi.com> wrote in message
news:dp76b.368085$o%2.165927@sccrnsc02...
"fighterman19" <fi**********@comcast.net> wrote...
because in linked list each node contains only one digit like


Is that a requirement or just your understanding of linked lists?

curr->nodevalue_1= 0
curr->nodevalue_2=1
sum->nodevalue = curr->nodevalue_1 + curr->nodevalue_2

so when the number go up to >10 or >100 and the linked list need another node (I can add the node to the front ) but how can do the sum ?

ex: 89+144 = 233
how can I add it to the sum linked list?
please help ( remember not a recursive problem)


What's the problem? Can't you implement addition with carry-over?

0 => carry.
label_1:
next_digit1 + next_digit2 + carry => result.
if result > 9 then
1 => carry.
result - 10 => result.
else
0 => carry.
end-if
store result
if have_more_digits go to label_1

I don't see C++ language issue here, BTW.

Victor

Jul 19 '05 #6
Yes, I know it doesn't not make sence because the best way to do fibonacci
is to use recursive, right?
But because I am learning about linked list so my task is to use linked list
to do fibonacci.
That's why I don't know how to handle the logic when the number has too many
digit.

by the way do you understand what i'am asking? I know it is hard to explain
w/o the picture.

"Kevin Goodsell" <us*********************@neverbox.com> wrote in message
news:Ht***************@newsread3.news.pas.earthlin k.net...
fighterman19 wrote:
because in linked list each node contains only one digit like

curr->nodevalue_1= 0
curr->nodevalue_2=1
sum->nodevalue = curr->nodevalue_1 + curr->nodevalue_2

so when the number go up to >10 or >100 and the linked list need another node (I can add the node to the front ) but how can do the sum ?

ex: 89+144 = 233
how can I add it to the sum linked list?
please help ( remember not a recursive problem)


Why on earth would you use a linked list for this? Your question doesn't
make much sense.

-Kevin
--
My email address is valid, but changes periodically.
To contact me please use the address from a recent posting.

Jul 19 '05 #7
> Yes, I know it doesn't not make sence because the best way to do fibonacci
is to use recursive, right?


If you by this meant something like
int fib(int n) { return n < 2 ? 1 : fib(n-1) + fib(n-2); }
then wrong.

It turns out counting the numbers in the opposite order is
(significantly) more efficient, since you will notice that this
solution would calculate small fibonacci number very many times if n
would be greater than very small.

Best regards
Michael Stockman
d0*****@nada.kth.se

Jul 19 '05 #8
fighterman19 wrote:

Please do not top-post. Re-read section 5 of the FAQ for posting guidelines.

http://www.parashift.com/c++-faq-lite/
Yes, I know it doesn't not make sence because the best way to do fibonacci
is to use recursive, right?
Definitely not. Recursive fibonacci is terribly inefficient, because it
does the same calculations over and over.
But because I am learning about linked list so my task is to use linked list
to do fibonacci.
That's why I don't know how to handle the logic when the number has too many
digit.
I don't know what the number of digits has to do with it.

by the way do you understand what i'am asking? I know it is hard to explain
w/o the picture.


No, I don't understand.

-Kevin
--
My email address is valid, but changes periodically.
To contact me please use the address from a recent posting.

Jul 19 '05 #9
"fighterman19" <fi**********@comcast.net> wrote in message
news:rt********************@comcast.com...
<snip faintly ridiculous flame>

Wow, you can swear at someone in a newsgroup. We'd all be very impressed, if
it wasn't quite so stunningly lame. And to think I was actually about to
help you and had written working code for you (assuming I understood your
question correctly, it wasn't hugely clear). For the record, you'd be
surprised at how many people post here expecting someone to do their
homework. The result of which is, of course, that we prefer to answer
questions where people have actually had a stab at the code themselves; it
demonstrates a modicum of effort. Of course, if we're in a good mood and
feeling kind (which is most of the time, in my experience), we'll try and
help out anyway, even if we're not given a huge amount to go on. At any
rate, we will until you decide to start yelling at people, at which stage
most of us generally decide it's not worth the bother and just killfile you.
FWIW, if you apologise in the immediate future (i.e. preferably before
everybody's read the original post), I think people would still try and
answer your question. I suspect you're hovering dangerously close to the
edge of quite a few people's killfiles, though. And the only person who
loses out if everyone ignores you is you, bottom line. Perhaps a damage
limitation exercise is in order?

Just a suggestion,

Stuart.

P.S. The site you're looking for is http://www.parashift.com/c++-faq-lite/
Perhaps reading Section 5 would be useful?

<snip>
Jul 19 '05 #10
Stuart Golodetz wrote:
[redacted]


Stuart,

Thank you for your voice of reason. The request sounded rather like
homework, and perhaps I was a bit abrupt. I appreciate your words.

red floyd

Jul 19 '05 #11


fighterman19 wrote:

!!!!!!!!!!!...........???

Sorry is it C++?
I have no idea what it is. May be I have not learned this one yet.


????
This is basic math and you have lerned it in your second or third
year in ground school.

To add 2 numbers:
start at the right most digit.
Add those
If the result of that addition is greater then 10, then
remember to add a carry 1 to the next left column
254
+ 683
4 + 3 -> 7
8 + 5 -> 13 that's 3 for this column and 1 for the next column
|
+----------------------------------------+
v
6 + 2 + 1 -> 9

So the result is

254
+ 683
---
7
13
8
-----
937

As said: very basic.
The addition of linked list to represent each number
is just 'organizational suger'

--
Karl Heinz Buchegger
kb******@gascad.at
Jul 19 '05 #12

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

19
by: RAJASEKHAR KONDABALA | last post by:
Hi, Does anybody know what the fastest way is to "search for a value in a singly-linked list from its tail" as oposed to its head? I am talking about a non-circular singly-linked list, i.e.,...
33
by: junky_fellow | last post by:
Consider a singly-linked list. Each node has a structure, struct node { char c; struct node *next; }; Each of the nodes contain an alphabetic character. Can anybody suggest a way to print...
4
by: MJ | last post by:
Hi I have written a prog for reversing a linked list I have used globle pointer Can any one tell me how I can modify this prog so that I dont have to use extra pointer Head1. When I reverse a LL...
1
by: PhilB | last post by:
I have been having issues trying to merge sort a double linked list. (I would supply the code, but it is locked away on an inaccessable computer.) The list always results in an unsorted list, but...
22
by: joshc | last post by:
In an interview for an embedded software position recently I was asked to write code, in C, for printing the contents of a linked list backwards. After a few minutes I came up with the recursive...
11
by: sam_cit | last post by:
Hi Everyone, I want to actually reverse a single linked list without using many variables, i have a recurssive solution, but i wanted an iterative one. can anyone help me on this?
0
by: Atos | last post by:
SINGLE-LINKED LIST Let's start with the simplest kind of linked list : the single-linked list which only has one link per node. That node except from the data it contains, which might be...
6
by: Hamster | last post by:
Hi, Need help with my code on reversing a singly linked list, here's my code: void reverseList ( List& listObj) { ListNode*pHeadnew=listObj.lastPtr, *pTailnew=listObj.firstPtr;
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.