سوال گدا از ریاضی دان بزرگ

سوال

یکی از دانشمندان بزرگ ریاضی بعد از چندین دهه تحقیق و کشفیات بزرگ در ریاضیات روزی برای استراحت به کافه می رود. دم در کافه به گدایی که نشسته بود یک دلار می دهد و میگوید اگر تو بتوانی من را متعجب کنی ۱۰۰ دلار به تو می دهم. آن گدا هم سوال ریاضی به این دانشمند می دهد و دانشمند قبل از اینکه سوال را ببیند ۱۰۰ دلار را می دهد. آن سوال به انداره سنگین و پیچیده بود که از طرف آن دانشمند به ۳ دانشمند ریاضی دان دیگر نیز ارسال شد و هیچ یک به جوابی نرسیدند تا آخر کار به پیش گذا رفتند و جواب آن را یافتند و به این نکته رسیدند که همیشه به همه مسایل نباید با پیچیدگی سنگین نگاه کرد.

گاهی باید از دید ساده نگری به مسایل بسیار سخت نگاه کرد!

سوال اینه که جمله n ام دنباله رو برو رو بنویسید.
۱ , ۱۱ , ۲۱ , ۱۲۱۱ , ۱۱۱۲۲۱ , ۳۱۲۲۱۱ , …

در حال بررسی 0
Sahar 4 سال 1 پاسخ 555 دیده شده 0

پاسخ ( ۱ )

  1. package package1;
    import java.util.Scanner;
    public class Ta_3 {
    //۱,۱۱,۲۱,۱۲۱۱,۱۱۱۲۲۱,۳۱۲۲۱۱,…
    public static void main(String[] args) {
    Scanner reader=new Scanner(System.in);
    int n=reader.nextInt();
    String temp=””,r,result=”1″;
    int[] a=new int [n];
    int j,count;
    for(int i=0;i<n-1;i++ )
    {
    j=0;
    count=0;
    r=result;
    result=””;
    char[] ch=r.toCharArray();
    int k=r.toCharArray().length;
    k-=1;
    int h=0;
    while (k!=-1)
    {
    ch[h]=r.charAt(k);
    k–;
    h++;
    }
    String s=new String(ch);
    a[i]=Integer.parseInt(s);
    while(a[i]!=0)
    {

    temp=Integer.toString(a[i]%10);
    a[i]/=10;
    if(temp.equals(r.charAt(j)+””))
    {
    count++;
    temp=Integer.toString(a[i]%10);
    if(a[i]!=0&&temp.equals(r.charAt(j)+””)!=true){
    result+=Integer.toString(count).concat(r.charAt(j)+””);
    j+=count;
    count=0;
    }

    }
    else
    {
    if(count==0)
    result+=Integer.toString(count+1).concat(r.charAt(j)+””);
    if(a[i]!=0)
    j++;
    }

    if(a[i]==0)
    {
    result+=Integer.toString(count).concat(r.charAt(j)+””);
    }

    }

    }
    System.out.println(result);
    reader.close();
    }

    }

ارسال یک پاسخ