天平砝码 n进制 (进位问题)

你有一个天平和一些砝码,砝码质量分别为n0,n1,n2…n100(每种各1个)。
问能否称出质量为k的物品。
“称出”是指在天平左右放置一些砝码,使得两边质量之差恰好等于k。

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;#define PI acos(-1.0)
typedef long long ll;
typedef long double ld;
const int INF32M=0x3f3f3f3f;
const ll INF64M=0x3f3f3f3f3f3f3f3f;ll a[100005];	//倒序
int main()
{ios::sync_with_stdio(false);ll n,m;int cnt=0,flag=1;cin>>n>>m;while(m!=0)	//进制转换  共cnt位{a[++cnt]=m%n;m=m/n;}for(int i=1;i<=cnt;i++){if(a[i]!=1 && a[i]!=0 && a[i]!=n-1 && a[i]!=n)flag=0;else if(a[i]==n-1 || a[i]==n)		//进位 此位未清0 n-1 n保留//44->54->154a[i+1]++;}if(flag)cout<<"YES"<

减法差值转化为加法问题
ep:n=10 十进制下 m=89=100-11
即为给m加 1 11(10+1) 111(100+10+1对应进制下)
能否达到10 100 1000

n=5 m=24(10)
五进制44 全为0或 1 4 5
24(44)+5(10)=29(104) , 相当于 24(44)+6(11)=30(110).


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部