Chatbox

Các bạn vui lòng dùng từ ngữ lịch sự và có văn hóa,sử dụng Tiếng Việt có dấu chuẩn. Chúc các bạn vui vẻ!
09/10/2013 15:10 # 1
vnttqb
Cấp độ: 13 - Kỹ năng: 8

Kinh nghiệm: 5/130 (4%)
Kĩ năng: 39/80 (49%)
Ngày gia nhập: 21/03/2011
Bài gởi: 785
Được cảm ơn: 319
[code OLP tin học 2013 - DTU - FPT] Số FIBONACCI thứ n


Đề bài: Cho một số n - Hãy tìm số fibonacci thứ n

Định nghĩa. Fibonacci thứ n   =  f(n) = f(n-1) +f(n-2);

______________________________________________________________________ 

 

#include<iostream>
#include<fstream>
 
using namespace std;
long long so =1;
int n;
string so1;
void docfile()
{
     fstream f("fib.inp");
     f>>n;
     f.close();
 }
 
void ghifile()
{
     ofstream f("fib.out");
     f<<so1;
     f.close();
     }
 void process1()
 {
         string S[] ={"0","1", "1", "2", "3", "5", "8", "13", "21", "34", "55", "89", "144", "233", "377", "610", "987", "1597", "2584", "4181", "6765", "10946", "17711", "28657", "46368", "75025", "121393", "196418", "317811", "514229", "832040", "1346269", "2178309", "3524578", "5702887", "9227465", "14930352", "24157817", "39088169", "63245986", "102334155", "165580141", "267914296", "433494437", "701408733", "1134903170", "1836311903", "2971215073", "4807526976", "7778742049", "12586269025", "20365011074", "32951280099", "53316291173", "86267571272", "139583862445", "225851433717", "365435296162", "591286729879", "956722026041", "1548008755920", "2504730781961", "4052739537881", "6557470319842", "10610209857723", "17167680177565", "27777890035288", "44945570212853", "72723460248141", "117669030460994", "190392490709135",
          "308061521170129", "498454011879264", "806515533049393", "1304969544928657", "2111485077978050", "3416454622906707", "5527939700884757", "8944394323791464", "14472334024676221", "23416728348467685", "37889062373143906", "61305790721611591", "99194853094755497", "160500643816367088", "259695496911122585", "420196140727489673", "679891637638612258", "1100087778366101931", "1779979416004714189", "2880067194370816120"};
     so1 = S[n];
      }
void process2()
{
    int  s21[] = {0,0,0,0,0,0,0,2,8,8,0,0,6,7,1,9,4,3,7,0,8,1,6,1,2,0};
    int  s11[] = {0,0,0,0,0,0,0,1,7,7,9,9,7,9,4,1,6,0,0,4,7,1,4,1,8,9};
   int s2[10000] ;
   int s1[10000];
    int  s[10000];
    int so = 90;
    for(int i = 0; i<=25;i++)
        {
            s2[975+i] = s21[i];
            s1[975+i] = s11[i];
        }
    int t=0;
    while ( so < n )
    {
    for ( int i = 1000; i>=0 ;i-- )
        {
              t +=  s1[i] + s2[i];
              s[i] = t% 10;
              t /=10;
         }
    for (int i=0; i<=1000; i++)
    {
        s1[i] = s2[i];
        s2[i] = s[i];
        }
    so++;
    }
 
     ofstream f("fib.out");
     int i = 0;
     while ( s2[i] == 0 )
     i++;
     for (; i<= 1000; i++)
     f<<s2[i];
     f.close();
 }
 int main()
 {
    docfile();
    if ( n <=90)
    {
         process1();
         ghifile();
         }
    else
    process2();
}
 

 



======================================================================================================

Cuộc đời là một dòng sông. Ai không bơi thì chết. 
 

Name: Tien (Tory) TRAN
Email: TranTien29@gmail.com


 
10/10/2013 15:10 # 2
vnttqb
Cấp độ: 13 - Kỹ năng: 8

Kinh nghiệm: 5/130 (4%)
Kĩ năng: 39/80 (49%)
Ngày gia nhập: 21/03/2011
Bài gởi: 785
Được cảm ơn: 319
Phản hồi: [code OLP tin học 2013 - DTU - FPT] Số FIBONACCI thứ n


Problem C

Optimal Parking


When shopping on Long Street, Michael usually parks his car at
some random location, and then walks to the stores he needs.
Can you help Michael choose a place to park which minimises
the distance he needs to walk on his shopping round?
Long Street is a straight line, where all positions are integer.
You pay for parking in a specific slot, which is an integer position
on Long Street. Michael does not want to pay for more than one
parking though. He is very strong, and does not mind carrying
all the bags around.

Input specifications
The first line of input gives the number of test cases, 1 ≤ t ≤ 100. There are two lines for
each test case. The first gives the number of stores Michael wants to visit, 1 ≤ n ≤ 20,
and the second gives their n integer positions on Long Street, 0 ≤ x
i ≤ 99.

Output specifications
Output for each test case a line with the minimal distance Michael must walk given
optimal parking.

Sample input
2
4
24 13 89 37
6
7 30 41 14 39 42

Output for sample input
152
70
 

_______________________________________________________________

 

#include<iostream>

#include<algorithm>
 
using namespace std;
int t ; // so test case
int n; // so luong phan tu
int a[30];
int cp;
int main()
{
cin>>t;
 
for ( int i = 1; i<= t; i++)  // duyet tat ca cac test case
{
cp =0;  // chi phi di ban dau = 0
cin>>n; // so phan tu 
for ( int i = 1; i<= n;i++)
cin>>a[i] ;   // doc gia tri cac mat hang
 
// -------- PROCESS -----------
sort(a+1,a+n+1);
for (int i = 2; i <= n; i++ )
cp += a[i]-a[i-1];
 
cp+= a[n] - a[1];
cout<<cp<<endl;
}
 
 
}
 

 



======================================================================================================

Cuộc đời là một dòng sông. Ai không bơi thì chết. 
 

Name: Tien (Tory) TRAN
Email: TranTien29@gmail.com


 
Các thành viên đã Thank vnttqb vì Bài viết có ích:
Copyright© Đại học Duy Tân 2010 - 2024