#include <cstdio>
#include <vector>
using namespace std;
int main()
{
vector<char> vc;
char cc = ' ';
while (cc != '\n')
{
scanf("%c", &cc);
if (cc != '\n') vc.push_back(cc);
}
long long int w = vc[0] - 48;;
for (int i = 1; i < vc.size(); i++)
{
w *= 10;
w += vc[i] - 48;
}
int len = vc.size();
long long int cykl = 0;
long long int mod = 1;
for (int i = 0; i < len; i++)
mod *= 10;
if (len == 1) cykl = 60;
else if (len == 2) cykl = 300;
else
{
cykl = 1500;
for (int i = 3; i < len; i++)
{
cykl *= 10;
}
}
if (w == 0)
{
printf("0");
return 0;
}
if (w == 1)
{
printf("1");
return(0);
}
long long int a = 0;
long long int b = 1;
long long int c = 1;
for (long long int i = 3; i <= cykl; i++)
{
a = b;
b = c;
c = a + b;
c %= mod;
if (c == w)
{
printf("%lld", i);
return(0);
}
}
printf("NIE");
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | #include <cstdio> #include <vector> using namespace std; int main() { vector<char> vc; char cc = ' '; while (cc != '\n') { scanf("%c", &cc); if (cc != '\n') vc.push_back(cc); } long long int w = vc[0] - 48;; for (int i = 1; i < vc.size(); i++) { w *= 10; w += vc[i] - 48; } int len = vc.size(); long long int cykl = 0; long long int mod = 1; for (int i = 0; i < len; i++) mod *= 10; if (len == 1) cykl = 60; else if (len == 2) cykl = 300; else { cykl = 1500; for (int i = 3; i < len; i++) { cykl *= 10; } } if (w == 0) { printf("0"); return 0; } if (w == 1) { printf("1"); return(0); } long long int a = 0; long long int b = 1; long long int c = 1; for (long long int i = 3; i <= cykl; i++) { a = b; b = c; c = a + b; c %= mod; if (c == w) { printf("%lld", i); return(0); } } printf("NIE"); } |
English