התגובות שלי בפורום
-
מאתתגובות
-
yoav zilberman
משתתףyoav zilberman
משתתףאני מעוניין, אנא רישמו אותי
yoav zilberman
משתתףלדעתי האורך הוא שתי שליש כפול שורש 10 : מותחים ישר ממרחק שישית מקודקוד הריבוע למרחק חצי מקודקוד צלע שממול הישר שהוצא ממשיכים בהעברת ישר מחצי הצלע בחזרה אל הצלע שממנה יצא במרחק שישית מהקודקוד שבעברה השני של הצלע.
האם יש אורך קצר יותר?yoav zilberman
משתתףמדהים! לא יאומן!
זה בדיוק כמו תורת הקוונטים: המציאות תלויה בנקודת מבט של הצופה.
וכמו שניסח זאת איינשטיין בחוסר אמונה מוחלטת: "מה, אם אנחנו לא מסתכלים על השמש היא לא קיימת?"
הביאו עוד חידות נחמדות כאלה, פשוט יפה!
yoav zilberman
משתתףאף אחד לא מצליח??
yoav zilberman
משתתףהייתי נשאר עם התיבה שלקחתי. ההסתברות בכל תיבה זהה, זה שהמנחה פתח את התיבה האחרת לא משנה את ראיית העולם .(אני חושב..).
מה התשובה הנכונה?
yoav zilberman
משתתףשלום רב, פיתרון נכון ויפה!
לגבי תיקונך: אם היית רוצה שהתוכנית תעבוד באופן כללי על כל סוג של מערך היית צודק, אך מכיוון שמדובר בתוכנית שייעודה הראשוני לעבוד רק עבור מטריצות ריבועיות אז התוכנית ממלאת את מטרתה.
בברכת חג שמח,
יואב זילברמן
yoav zilberman
משתתףבפתרון שלך יש 12 פרשים, לא 9!
yoav zilberman
משתתףהפלט של התוכנית הוא 16 ולא 18 הייתה טעות הקלדה……
yoav zilberman
משתתףמישהוא יכול לתרגם לג'אווה אני לא מבין כלום….
yoav zilberman
משתתףטעות הקלדה, התשובה היא 16
yoav zilberman
משתתףהתשובה היא 18 .
האם זה נכון?
להלן תוכנית המחשב שמחשבת את המבוקש:
import java.util.*;
public class chess
{
static Scanner yoav=new Scanner(System.in);
static boolean peula(char[][]matrix)
{
int mone=0;
for(int i=0;i<=matrix.length-1;i++)
{
for(int j=0;j<=matrix.length-1;j++)
{
if(matrix[j]!=' ')
{
mone++;
}
}
}
if(mone==Math.pow(matrix.length,2))
{
return true;
}
else
{
return false;
}
}
public static void main(String[]args)
{
int mone=9,currentmone=0;
int x=0;
char[][]matrix=new char[8][8];
for(int i=0;i<=7;i++)
{
for(int j=0;j<=7;j++)
{
matrix[j]=' ';
}
}
while(peula(matrix)==false)
{
for(int i=0;i<=7;i++)
{
for(int j=0;j<=7;j++)
{
if(matrix[j]!='a')
{
if(matrix[j]==' ')
{
currentmone++;
}
if(j-1>=0 && i-2>=0 )
{
if(matrix[i-2][j-1]==' ')
{
currentmone++;
}
}
if(j+1<=7 && i-2>=0)
{
if(matrix[i-2][j+1]==' ')
{
currentmone++;
}
}
if(i+2<=7 && j-1>=0)
{
if(matrix[i+2][j-1]==' ')
{
currentmone++;
}
}
if(i+2<=7 && j+1<=7)
{
if(matrix[i+2][j+1]==' ')
{
currentmone++;
}
}
if(j+2<=7 && i-1>=0)
{
if(matrix[i-1][j+2]==' ')
{
currentmone++;
}
}
if(j-2>=0 && i-1>=0)
{
if(matrix[i-1][j-2]==' ')
{
currentmone++;
}
}
if(j+2<=7 && i+1<=7)
{
if(matrix[i+1][j+2]==' ')
{
currentmone++;
}
}
if(j-2>=0 && i+1<=7)
{
if(matrix[i+1][j-2]==' ')
{
currentmone++;
}
}
}
if(currentmone==mone)
{
matrix[j]='a';
if(i+1<=7 && j-2>=0)
matrix[i+1][j-2]='*';
if(i+1<=0 && j+2<=7)
matrix[i+1][j+2]='*';
if(i-1>=0 && j-2>=0)
matrix[i-1][j-2]='*';
if(i-1>=0 && j+2<=7)
matrix[i-1][j+2]='*';
if(i+2<=7 && j+1<=7)
matrix[i+2][j+1]='*';
if(i+2<=7 && j-1>=0)
matrix[i+2][j-1]='*';
if(i-2>=0 && j+1<=7)
matrix[i-2][j+1]='*';
x++;
}
currentmone=0;
}
}
mone–;
}
System.out.println(x);
}
}yoav zilberman
משתתףלסעריה שלום!
לפי מה שאני יודע את פקודת סייל מפעילים על ממשיים ולא על שלמים. מכיוון שמשתנה הוגדר כשלם לפעולה לא תהיה משמעות ולא תשיג את מבוקשה. נסה להריץ את התוכנה עבור קלט 8 ו-9 וראה האם הפלט הרצוי מתקבל.
בברכת חג שמח,
יואב זילברמן
yoav zilberman
משתתףנכון מאוד!
כל הכבוד!
yoav zilberman
משתתףמתנצל, פתרון שרשמתי אינו נכון.
אני באמצע בניית תוכנה שתחשב, מחר אפרסם פתרון מלומד, נא לא להתייחס לתשובה קודמת!
יואב
-
מאתתגובות