6 תשובות
סעיף א אפשר לעשות עם לולאת while
אלא אם צריך עם משהו אחר
של איזה כיתה זה?
אנונימית
שואל השאלה:
יא
אנונימי
נראה לי אפשר לעשות את זה באמצעות מחסנית או תור מכיר?
א. אני לא יודע java אבל אני יודע c# אז אני מקווה שזה יהיה דומה... אני חושב שהייתי משתמש במודולו 10 בשביל לקבל את הספרות והייתי יוצר אולי string שיכיל כל פעם את הספרות ויהיה נגיד num1 שישמור את המספר הראשון שצריך להיות אחרון..
ואז אפשר להפוך את הstring לint(לא בטוח שזה מה שצריך לעשות)
א, להלן;

public static int circularshiftright(int num) {
int lastdigit = num % 10;
int remainingdigits = num / 10;

return lastdigit * (int)math.pow(10, getdigitcount(num)-1) + remainingdigits;
}

public static int getdigitcount(int num) {
int count = 0;
while (num > 0) {
count++;
num /= 10;
}
return count;
}


ב, להלן;

public static int circularshiftleft(int num) {
int firstdigit = num / (int)math.pow(10, getdigitcount(num)-1);
int remainingdigits = num % (int)math.pow(10, getdigitcount(num)-1);

return remainingdigits * 10 + firstdigit;
}

ג, להלן;

public static void circularshifts(int num, int right, int left) {
for (int i = 0; i < right; i++) {
num = circularshiftright(num);
}

for (int i = 0; i < left; i++) {
num = circularshiftleft(num);
}

system.out.println(num);
}

ד, להלן;

import java.util.scanner;

public class main {
public static void main(string[] args) {
scanner scan = new scanner(system.in);
system.out.print("enter number of integers: ");
int n = scan.nextint();

for (int i = 0; i < n; i++) {
system.out.print("enter integer: ");
int num = scan.nextint();

if (num <= 0) {
system.out.println("invalid input");
return;
}

int maxdigit = 0;
int mindigit = 9;

int copy = num;
while (copy > 0) {
int digit = copy % 10;
maxdigit = math.max(maxdigit, digit);
mindigit = math.min(mindigit, digit);
copy /= 10;
}

circularshifts(num, maxdigit, mindigit);
}
}
}



* חלק עלול להיעלם, בשל הגבלות המקלדת, ותמיכת הכתב.
במידה ויש לך עוד שאלות, מוזמן לשאול אותי, או על משהו שלא הבנת.
יש המון דרכים לעשות את זה למשל אפשר להפוך לסטרינג ולעשות לולאה באורך של המספר, אפשר להשתמש בטירקים מתמטיים ואפשר להשתמש במחסנית.
פשוט תבחר את הדרך שהכי נוחה לך ותנסה לגרום לזה לעבוד. אם יש בעיה ספציפית אתה מוזמן לשאול אותי