تمرین رشته فیبوناچی با جاوا
در این نوشته تمرین “رشته فیبوناچی” که در وبسایت کوئرا موجود است را برای شما کاربران عزیز به زبان جاوا حل کردهایم.
تمرین رشته فیبوناچی با جاوا
دنباله فیبوناچی دنبالهای معروف است که به صورت زیر تعریف میشود:
fib(1)=1 fib(2) = 2 fib(n) = fib(n-1) + fib(n-2)
حال، برنامهای بنویسید که با ورودی گرفتن یک عدد طبیعی n یک رشته مانند s1, s2, s3, …, Sn از علامت های + و – را چاپ کنید به طوری که Si مثبت شود اگر و تنها اگر عدد i جزو دنباله فیبوناچی است. برای فهم بهتر به مثالها توجه کنید.
ورودی تمرین رشته فیبوناچی
ورودی تنها شامل یک خط است که در آن یک عدد طبیعی n آمده است.
1≤n≤100
خروجی تمرین رشته فیبوناچی
در تنها سطر خروجی یک رشته به طول n که پاسخ مسئله است را چاپ کنید.
پیشنهاد نویسنده: الگوریتم فیبوناچی با پایتون
مثال تمرین رشته فیبوناچی
همانند نمونه مثالهای زیر را باید بررسی و حل کنید:
sample 1: -------------------------------------------- input : 15 output : +++-+--+----+-- sample 2: -------------------------------------------- 4 +++-
حل تمرین
حل تمرین رشته فیبوناچی به شرح زیر است:
import java.util.Scanner; public class Main { public static Scanner sc; public static void main(String[] args) { sc = new Scanner(System.in); int num = sc.nextInt(); int arr[] = new int[101]; arr[0] = 1; arr[1] = 2; for (int i = 2; i <= 100; i++) { arr[i] = arr[i-1] + arr[i-2]; } int j = 0; for (int i = 1; i <= num; i++) { if(i == arr[j]) { System.out.print("+"); j++; } else System.out.print("-"); } } }
در ابتدا ورودی را دریافت میکنم سپ در یک آرایه تمامی دنبالهی فیبوناچی را میسازیم. بعد از ساخت این دنباله از عدد 1 تا عدد وارد شده را پیمایش میکنیم و در صورت وجود هر عدد در دنباله فیبوناچی کاراکتر + و در غیراینصورت – چاپ میکنیم.
منبع سوال: وبسایت کوئرا
ارسال پاسخ