31-03-2006, 01:51
|
|
|
חבר מתאריך: 09.05.05
הודעות: 1,217
|
|
מה הפונקציה הזאת עושה? (CPP)
קודם כל אני רוצה לציין שהעתקתי את הפונקציה ()f מתוך אתר כלשהו (אני לא רוצה לתת אותו בשביל לא להרוס את התשובה שלכם).
עכשיו יש לי שאלה, מה עושה הפונקציה ()f? שימו לב שאת כל התוכנית פה כתבתי בשביל שתוכלו להריץ ולבדוק את תוצאות ההחזרה של כל מיני מספרים. זה מוזר מאוד.
עריכה: לא משנה, מצאתי כבר מה התשובה לאחר שביררתי מה זה "ביטים דולקים". הפונקציה בודקת כמה ביטים דולקים יש למספר שנותנים לה בייצוג הבינארי שלו.
קוד:
REMOVE THIS LINE
#include <iostream>
using namespace std;
int f( unsigned int );
int main() {
int input;
while ( 1 ) {
cout << "Insert number: ";
cin >> input;
cout << "Return value: " << f( input ) << endl;
}
return 0;
}
int f( unsigned int x ) {
if ( x == 0 )
return 0;
return f( x / 2 ) + x % 2;
}
REMOVE THIS LINE
נערך לאחרונה ע"י ^NoX בתאריך 31-03-2006 בשעה 03:06.
|