CF 552C 進位制轉換
http://codeforces.com/problemset/problem/552/C
/**
CF 552C 進位制轉換
題目大意:給定一個天平,砝碼的重量為w的0~100次冪,每種砝碼只有一個,砝碼可以放在左盤或者右盤。給定物品的重量m,問是否有一種方案讓天平兩端平衡
解題思路:把m化為w進位制,改進位制數只能有0,1或者w-1,若為w-1那麼相當於在物品所放的盤裡加一個砝碼,然後在另一盤加上w倍的砝碼即可。直接w進位制數當前位
清0,將下一位+1即可。最後看w進位制數是否正好是一個01串即可
*/
#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <iostream>
using namespace std;
int bit[40],n,m;
int main()
{
while(~scanf("%d%d",&n,&m))
{
int k=0;
memset(bit,0,sizeof(bit));
while(m)
{
bit[k++]=m%n;
m/=n;
}
int flag=1;
for(int i=0;i<k;i++)
{
if(bit[i]>=n)
{
bit[i]-=n;
bit[i+1]++;
}
if(bit[i]==n-1)
{
bit[i]=0;
bit[i+1]++;
}
else if(bit[i]>1)
{
flag=0;
break;
}
}
if(flag==0)
puts("NO");
else
puts("YES");
}
return 0;
}
相關文章
- 【進位制轉換】十進位制與十六進位制相互轉換方法
- Qt進位制轉換(十進位制轉十六進位制)QT
- JavaScript 進位制轉換(2進位制、8進位制、10進位制、16進位制之間的轉換)JavaScript
- 進位制轉換
- 十六進位制轉換為八進位制
- 十六進位制轉換為十進位制
- 進位制之間的轉換之“十六進位制 轉 十進位制 轉 二進位制 方案”
- 二進位制轉十進位制快速轉換方法
- lua之m進位制轉換為n進位制-任意進位制轉換演算法演算法
- 二進位制,八進位制,十進位制,十六進位制的相互轉換
- JavaScript 進位制轉換JavaScript
- 1.5進位制轉換
- JavaScript十進位制轉換為二進位制JavaScript
- shell 中轉換16進位制10進位制
- Oracle二進位制與十進位制轉換Oracle
- java中二進位制、八進位制、十進位制、十六進位制的轉換Java
- 二進位制,八進位制,十進位制,十六進位制之間的轉換
- Python 進位制互相轉換(二進位制、十進位制和十六進位制)Python
- JAVA 二進位制,八進位制,十六進位制,十進位制間進行相互轉換Java
- 計算機基礎進位制轉換(二進位制、八進位制、十進位制、十六進位制)計算機
- 十進位制與二進位制互相轉換指南
- 進位制均值-進位制轉換+最大公約數
- 【轉帖】Oracle中的二進位制、八進位制、十進位制、十六進位制相互轉換函式Oracle函式
- (轉)【iOS 開發】二進位制、十進位制、十六進位制相互轉換的方法iOS
- 數的進位制轉換
- python 進位制轉換Python
- c#進位制轉換C#
- 大話二進位制,八進位制,十進位制,十六進位制之間的轉換
- 一看就懂二進位制、八進位制、十六進位制數轉換十進位制
- python進位制轉換(二進位制、十進位制和十六進位制)及注意事項Python
- Oracle中的二進位制、八進位制、十進位制、十六進位制相互轉換函式Oracle函式
- 什麼是二進位制?二進位制如何轉換?
- 十進位制轉換任意進位制--鏈棧實現
- JavaScript中的多種進位制與進位制轉換JavaScript
- JavaScript 二進位制數字轉換為十進位制JavaScript
- js二進位制和十進位制轉換程式碼JS
- 遞迴-進位制轉換器(十六進位制以內)遞迴
- Oracle中十進位制與十六進位制轉換程式Oracle