• בום-סכום-משולש

    בחידה קודמת נשאל מה הסכום של כל המספרים בין 1 ל1000 שמתחלקים ב6 או ב9.
    הפעם נשאלת שאלה כללית יותר,
    מה הסכום של כל המספרים בין L לU שמתחלקים בלפחות באחד מהמספרים בקבוצה
    D=\{d_1,d_2,d_3\}
    כתוב תוכנית קצרה שמקבלת את חמשת הפרמטרים ומחזירה את הסכום

    הפתרון גלוי רק למשתמשים הכנס למערכת או הרשם בחינם
  • המתכנת שהתפטר מכה שנית

    מתכנת שהתפטר (אותו אחד) החליט לפני שהוא הולך לשפר את איכות הקוד.
    להלן הקוד (פסאודו-קוד, כשכמובן כל e_X הוא קוד ולידי ב-C שמתקמפל, מתלנקג', רץ ועושה כל מה שצריך):

    עובד נהדר
    [sourcecode language="cpp"] for (e_1; e_2; e_3)
    {
    e_4;

    e_N;
    }
    [/sourcecode]
    לא עובד, משום מה
    [sourcecode language="cpp"] e_1;
    while (e_2)
    {
    e_4;

    e_N;
    e_3;
    }
    [/sourcecode]

    הפתרון גלוי רק למשתמשים הכנס למערכת או הרשם בחינם

  • המתכנת שהתפטר

    מתכנת שהתפטר מן העבודה (ולא ניתן ליצור עמו קשר)
    הותיר את שורת הקוד הבאה שמשתמשים בה בזיליון מקומות בקוד ואין ולו שורת תעוד אחת.

    #define P(x) !( (x) & ( (x) - 1 ) )

    מה המקרו עושה ?


    הפתרון גלוי רק למשתמשים הכנס למערכת או הרשם בחינם

  • It's complex

    מימשתי מספר מרוכב בC#, והצבתי אותו בפולינום וקיבלתי תוצאה שגויה
    [sourcecode language="cpp"] // complex.cs
    using System;

    public struct Complex
    {
    public int real;
    public int imaginary;

    public Complex(int real, int imaginary)
    {
    this.real = real;
    this.imaginary = imaginary;
    }

    // Declare which operator to overload (+,*,^)
    public static Complex operator +(Complex c1, Complex c2)
    {
    return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary);
    }
    public static Complex operator +(Complex c, double d)
    {
    return new Complex(c.real + d, c.imaginary);
    }
    public static Complex operator *(Complex c1, Complex c2)
    {
    return new Complex(c1.real * c2.real-c1.imaginary * c2.imaginary,c1.real*c2.imaginary+c2.real*c1.imaginary);
    }
    public static Complex operator *(Complex c, double d)
    {
    return new Complex(c.real *d, c.imaginary *d);
    }
    public static Complex operator ^(Complex c,int i)
    {
    Complex ret=c;
    for (int j=1;j ולא 2z+z^2+2
    [/solution]

  • חידת פונקציה 3

    מה עושה הפונקציה הבאה
    [sourcecode language="cpp"] int D(int n)
    {
    int r=sqrt(n);
    int k=(r==sqrt(n)?1:0);
    for (int i=1;i
  • חידת פונקציה 2

    מה עושה הפונקציה הבאה
    [sourcecode language="cpp"] int G(int n, int m)
    {
    if (n*m==0)
    return (n==0?m:n);
    if (n>m)
    return G(n%m,m);
    else
    return G(n,m%n);
    }
    [/sourcecode]
    הפתרון גלוי רק למשתמשים הכנס למערכת או הרשם בחינם
  • חידת פונקציה 1

    מה עושה הפונקציה הבאה
    [sourcecode language="cpp"] int S(int n)
    {
    int i,k=0;
    for (i=1;n>0;i+=2)
    {
    if (k+i>n) return (i-1)/2;
    else k+=i;
    }
    return 0;
    }
    [/sourcecode]
    הפתרון גלוי רק למשתמשים הכנס למערכת או הרשם בחינם