Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 12_01_2022.cpp : Ten plik zawiera funkcję „main”. W nim rozpoczyna się i kończy wykonywanie programu.
- //
- #include <iostream>
- #include <string>
- #include <fstream>
- #include <vector>
- using namespace std;
- //string ToSystem(int a, int system) {
- // string s = "";
- // while (a != 0) {
- // if (a % system >= 10) {
- // s += (char)(65 - 10 + a % system);
- // }
- // else
- // s += to_string(a % system);
- // a /= system;
- // }
- // string ret = "";
- // for (int i = s.length() - 1; i >= 0; i--) {
- // ret += s[i];
- // }
- // return ret;
- //}
- //string ToBinary(int a) {
- // string ret = "";
- // while (a > 0) {
- // if(a%2)
- // }
- //}
- bool CzyLiczbaPierwsza(unsigned int a) {
- if (a > 2) {
- if (a % 2 == 0)
- return false;
- int i = 2, max = std::sqrt(a);
- do {
- if (a % i == 0)
- return false;
- i++;
- } while (i <= max);
- return true;
- }
- else
- return a == 2;
- }
- std::string ToSystem(int a, int s) {
- std::string ret;
- while (a > 0)
- {
- // 48 - 0's ascii code
- ret += (a % s) + 48;
- a /= s;
- }
- return ret;
- }
- //int ToSystem2(int a) {
- // string ret = "";
- //
- //}
- std::vector<int> FibV = { 0,1 };
- int Fib(unsigned int n) {
- int max_n = FibV.size();
- int a = n - max_n;
- for (int i = 0; i <= a; i++) {
- FibV.push_back(FibV[max_n - 1] + FibV[max_n - 2]);
- max_n++;
- }
- return FibV[n];
- }
- int main()
- {
- cout << Fib(40);
- ofstream binarny_out, odpowiedzi_out;
- binarny_out.open("binarnie.txt");
- odpowiedzi_out.open("wyniki.txt");
- string tab[40];
- vector<string> liczbyz6jedynek;
- for (int i = 1; i <= 40; i++) {
- tab[i-1] = ToSystem(Fib(i),2);
- int c_jedynek = 0;
- for (char c : tab[i-1])
- if (c == '1')
- c_jedynek++;
- if (c_jedynek == 6)
- liczbyz6jedynek.push_back(tab[i-1]);
- }
- int max_b = tab[40 - 1].size();
- for (int i = 1; i <= 40; i++) {
- int c = max_b -tab[i-1].size();
- string prefix = "";
- for (int a = 0; a < c; a++)
- prefix += "0";
- //tab[i-1] = prefix + tab[i-1];
- binarny_out << tab[i-1] << endl;
- }
- binarny_out.close();
- // 1
- odpowiedzi_out << "1" << endl;
- odpowiedzi_out << "F10: " << Fib(10) << endl;
- odpowiedzi_out << "F20: " << Fib(20) << endl;
- odpowiedzi_out << "F30: " << Fib(30) << endl;
- odpowiedzi_out << "F40: " << Fib(40) << endl;
- odpowiedzi_out << "3" << endl;
- for (string liczba : liczbyz6jedynek) {
- odpowiedzi_out << liczba << endl;
- }
- odpowiedzi_out << "4" << endl;
- for (int i = 1; i <= 40; i++) {
- int f = Fib(i);
- if(CzyLiczbaPierwsza(f))
- odpowiedzi_out<<f<<std::endl;
- }
- odpowiedzi_out.close();
- binarny_out.close();
- }
Advertisement
Add Comment
Please, Sign In to add comment