• Tidak ada hasil yang ditemukan

PDF Powerful Integers by Bruteforce Algorithm using C++

N/A
N/A
Protected

Academic year: 2024

Membagikan "PDF Powerful Integers by Bruteforce Algorithm using C++"

Copied!
3
0
0

Teks penuh

(1)

E-Content for B.Sc)H) Computer Sc. Paper-Discrete Structure Sem. II CVS,DU

Powerful Integers by Bruteforce Algorithm using C++

Given two positive integers x and y, an integer is powerful if it is equal to x^i + y^j for some integers i >= 0 and j >= 0. Return a list of all powerful integers that have value less than or equal to bound.

You may return the answer in any order. In your answer, each value should occur at most once.

Example 1:

Input: x = 2, y = 3, bound = 10 Output: [2,3,4,5,7,9,10]

Explanation:

2 = 2^0 + 3^0 3 = 2^1 + 3^0 4 = 2^0 + 3^1 5 = 2^1 + 3^1 7 = 2^2 + 3^1 9 = 2^3 + 3^0 10 = 2^0 + 3^2 Example 2:

Input: x = 3, y = 5, bound = 15 Output: [2,4,6,8,10,14]

Note:

1 <= x <= 100 1 <= y <= 100 0 <= bound <= 10^6

C++ Bruteforce Algorithm to Compute the Powerful Integers

The edge cases are when x and y are equal to 1. We can use a set to store the unique powerful integers within the bound. If X = 1 or Y = 1, the time

complexity is . If both are 1, then the complexity is O(1) – as there is only 1 powerful integer, which is 1+1=2.

(2)

E-Content for B.Sc)H) Computer Sc. Paper-Discrete Structure Sem. II CVS,DU If neither X or Y is 1, the time complexity is . The space complexity is the same the time complexity as each number to test may be a potential powerful integer.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

class Solution { public:

vector<int> powerfulIntegers(int x, int y, int bound) { unordered_set<int> data;

int a, b;

for (int i = 0; (a = pow(x, i)) <= bound; ++ i) {

for (int j = 0; (b = a + pow(y, j)) <= bound; ++ j) { if (b <= bound) {

data.insert(b);

} else break;

if (y == 1) break;

}

if (x == 1) break;

}

vector<int> res;

std::copy(data.begin(), data.end(), std::back_inserter(res));

return res;

} };

And, if either X or Y is 1, we can break the loop – as 1 to the power of any will be still one, otherwise, it will be an endless loop. At last, we need to convert the set to std::vector in C++ .

(3)

E-Content for B.Sc)H) Computer Sc. Paper-Discrete Structure Sem. II CVS,DU

Referensi

Dokumen terkait

The algorithm used in this paper [4] is by calculate the data collected from tri-axial accelerometer and differentiate fall activity and activities of daily living

Research methodology is done by implement the distance vector routing algorithm on a network WSNs on heterogeneity platform to find the best path for sending data from

Frame #5 I: procedure MULTI-TRACKING ALGORITHM 2: define variables for Kalman Filter 3: define starting frame 4: define measurement noise for x and y coordinate 5: define

Separation efficiency by size in the same species between a body length i, in the codend and body length j in the cover net is defined as y i + yj - 1, where y i is the recovery ratio

Analysis of hybrid cryptography stream cipher and RSA algorithms with digital signatures as a key, indicates that the size of the encrypted file is equal to the size of the plaintext,

%This program is to detect the microcalcification usingtop-hat algorithm and segmentation %Read the input image 12 = imread'fil ename.tif; %Select the area of interest A=imcropI2;

i n layer I the error is comput,rd using : The a,dapt,ation of the weights of the link connect- ing neuroiis i and j is done using : tu:, x + I< * 6: * u‘-l 3 4 where I< is the

TABLE OF CONTENTS CHAPTER PAGE DECLARATION i DEDICATION ii OUTLINE OF THE PROJECT REPORT iii ACKNOWLEDGEMENT iv ABSTRACT v TABLE OF CONTENTS vi LIST OF FIGURES x LIST OF TABLES