Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int cmmdc (int a, int b) {
- if (a > b) {
- return cmmdc(a - b, b);
- }
- if (a < b) {
- return cmmdc(a, b - a);
- }
- if (a == b) {
- return a;
- }
- }
- int toPrime(int a) {
- for (int i = 1; i <= a / 2 ; ++i) {
- if (a % i == 0) {
- if (a / i == 1) {
- return a;
- }
- else {
- a = a / i;
- }
- }
- }
- return a;
- }
- int main() {
- float N, M;
- cin >> N >> M;
- int count = 0, steps;
- while (N != 0 && M != 0) {
- count++;
- if (cmmdc(N, M) != 1) {
- steps = (M - N) / toPrime(M - N);
- }
- else {
- steps = -1;
- }
- cout << "Case " << count << ": " << steps;
- cin >> N >> M;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement