Professional Documents
Culture Documents
פתרון מועד א אלגוריטמיקה קיץ 2023
פתרון מועד א אלגוריטמיקה קיץ 2023
שאלון 97104
עורך :גל בראון
Q1
-----
;int div
חדספרתי//
{)if (i<10
;div = i
}
דו ספרתי//
;div = i%10+i/10
}
תלת ספרתי//
{)else if (i>=100
;div = i%10+i/10%10+i/100
}
;)syso(i
}
;)syso(1000
Q2
-----
int flag;
String phoneNum="";
flag = 0;
phoneNum = input.next();
counter++;
flag+=1;
if (phoneNum.charAt(2) == '-')
flag+=1;
if (restNum.length == 7){
isGood = false;
if (isGood)
flag+=1;
---------------------------------------------------------------
Q3A
-----
if (arr[i]%2 ==1){
if (arr[j]%2 ==0)
return false;
return true;
return true;
---------------------------------------------------------------
Q3B
-----
int leftInx = 0;
if (num%2==0){
arr[leftInx] = num;
leftInx++;
}else{
arr[rigthInx] = num;
rigthInx--;
counter++;
return arr;
Q4a
----
class Time{
return otherMinSum-currentMinSum;
----
if (arvTime.difference(supTime)>180)
flag = false;
if(flag)
else
;)"לא עמדה"(syso
------------------------------------------------------
Q5c
----
Q5d
----
]return arr[0
;]maxOdd = arr[1
)if (arr.length%2==0
;]maxEven = arr[arr.length-2
else
;]maxEven = arr[arr.length-1
}
6a
---
gAlBaRoN1
6b
---
.הטענה נכונה
6c
---
--------------------------------
7a
---
)))(if (!name.equals(c.getName
;return false
return true;
7b
---
int size=0;
String [] arr2;
int counter=0;
size++;
arr2[counter] = c.getType();
counter++;
return arr2;
7C
----
double maxPrice=arr[0].getPrice();
if (c.getPrice() == maxPrice){
syso(c.toString());
----------------------------------------------------
8a
---
if (a.length != b.length)
return false;
int aIndex = 0;
for(aIndex<a.length; aIndex++){
if (a[aIndex] != b[bIndex]
;bIndex--
}
;return true
}
8b
---
) O(nסיבויות
8d
---
]b=[6,4,10,13
8e
---
8f
----
) O(n*mסיבוכיות
aעבור כל תא במערך
bעוברים על כל מערך
-------------------------------------------------------------------
Q9(a)
מחלקהDigits
arrDigits - תאים כל תא מייצג את מספר הפעמיים שבו הספרה מופיע במספר10 מערך בן
int dig = 0;
int num = x;
if (x > 0)
while (flag)
if (num > 0)
dig = x%10 ;
arrDigits[dig]++ ;
num = x/10
else
flag = false;
Q9(b)
if (X.arr.Digits[i] != this.arr.Digits[i])
return false;
return true;
)Q9(c
)Q9(d
{
{
]sumD1+=this.arr.Digits[aIndex
]sumD2+=X.arr.Digits[aIndex
}
return 1
else
return 2
return 0
}
===========================================================================
========
public static int App(int appNum, string owner, Room[]rooms, double rate)
Q10(B)
מחיר נקיון של מטר מרובע- rate * מספר הפעמיים בחודשfreq * שטח החדרarea
double costApp=0.0;
return costApp;
Q10(C)
monthCost()
===========================================================================
===========================
Q11
5 4 3 2 1 0
5 4 3 2 1 7 0
4 6 8 9 11 1 1
1 2 4 13 9 2 2
10 16 17 10 8 3 3
1 19 15 5 5 4 4
21 1 12 4 6 5 5
return false;
return false;
return true;
Q12
---
num1
12-a
12-b