עליך לממש פונקציה המקבלת בית ומחזירה בית כך שסדר הסיביות בו הפוך. כלומר נניח וקיבלת 00111010 עליך להחזיר 01011100. אסור לך להשתמש במערך.
לאחר סיום המימוש נאמר לי שפעולת הפונקציה לוקחת יותר מדי זמן - כיצד ניתן לשפר את זמן ריצתה? לא ניתן לאתחל LUT מראש. ניתן להשתמש במקום קבוע.
צייר שכמת מלבנים וACIVE DIAGRAM של פרויקט שעשית.
נתון פוינטר של שירים בשם songlist כדי להקל על השאלה זה מערך
בנה STRUCT שמתאר את הsonglist
וכתוב פונקציה שמריצה את השירים בצורה רנדומלית ללא חזרה על השירים
ניתן להשתמש בפונקציה RANDOM עם טווח
תשובות
הוסף תשובה
|
לצפיה בתשובות
יוני 2021
// N - Num Of Songs
// Time Complexity: O(N)
// Space Complexity: O(N)
struct Songlist
{
char** songs;
int numOfSongs;
char* songListName;
};
uint8_t* played = (uint8_t*)calloc(songlist->numOfSongs*sizeof(uint8_t));
if (!played)
{
return;
}
int playedSongs = 0;
printf("Song List Name: %s\n", songlist->songListName);
while(playedSongs != songlist->numOfSongs)
{
int i = rand() % songlist->numOfSongs;
if (played[i])
{
continue;
}
שרטט EVM = Pin/(IMR + Nth) כפונקציה של Pin נתונים ה - NF וה - IP3 של רכיב
תשובות
הוסף תשובה
|
לצפיה בתשובות
יוני 2021
דבר ראשון מעבר ליחידות לוגריתמיות ולשים לב לשתי פונקציות לינאריות:
1. כאשר ה - IM3 זניח מהרעש התרמי
2. כאשר ה - IM3 גדול מהרעש התרמי
מתקבל מקסימום כאשר הרעשים שווים וחילוץ הספק הכניסה המתאים מהנוסחה של ה - IP3