در این نوشته تمرین “رشته فیبوناچی” که در وبسایت کوئرا موجود می باشد را برای شما کاربران عزیز به زبان جاوا حل کرده ایم.
در مورد سایت کوئرا بیشتر بخوانید…
در این بخش تمرین دنباله ی فیبوناچی برگشتی سایت کوئرا موجود می باشد.
سوال تمرین رشته فیبوناچی
دنباله فیبوناچی دنبالهای معروف است که به صورت زیر تعریف میشود:
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 تا عدد وارد شده را پیمایش می کنیم و در صورت وجود هر عدد در دنباله فیبوناچی کاراکتر + و در غیراینصورت – چاپ می کنیم.
موفق باشید.
ارسال پاسخ