114A - Cifera - CodeForces Solution


math *1000

Please click on ads to support us..

Python Code:

k = int(input())
l = int(input())
num = 1

if k == l:
    print('YES\n0')
    exit()

output = ''

while k ** num < l:
    num += 1
    if k ** num > l:
        output += 'NO'
        break
    elif k ** num == l:
        output += 'YES\n'
        output += str(num - 1)

if output == '':
    print('NO')
else:
    print(output)

C++ Code:

#include<iostream>
using namespace std;
int main()
{
	long long k, l;
	cin >> k >> l;
	long long count = 0;
	if (l % k == 0)
	{
		while (l != k && l > 0)
		{
			if (l % k != 0)
			{
				cout << "NO";
				return 0;
			}
			l /= k;
			++count;
		}
	}
	else
	{
		cout << "NO";
		return 0;
	}
	cout <<"YES\n"<< count;
}


Comments

Submit
0 Comments
More Questions

145. Binary Tree Postorder Traversal
94. Binary Tree Inorder Traversal
101. Symmetric Tree
77. Combinations
46. Permutations
226. Invert Binary Tree
112. Path Sum
1556A - A Variety of Operations
136. Single Number
169. Majority Element
119. Pascal's Triangle II
409. Longest Palindrome
1574A - Regular Bracket Sequences
1574B - Combinatorics Homework
1567A - Domino Disaster
1593A - Elections
1607A - Linear Keyboard
EQUALCOIN Equal Coins
XOREQN Xor Equation
MAKEPAL Weird Palindrome Making
HILLSEQ Hill Sequence
MAXBRIDGE Maximise the bridges
WLDRPL Wildcard Replacement
1221. Split a String in Balanced Strings
1002. Find Common Characters
1602A - Two Subsequences
1555A - PizzaForces
1607B - Odd Grasshopper
1084A - The Fair Nut and Elevator
1440B - Sum of Medians