关于C++的题目
任意给定一些自然数N,以0为停止输入,寻找M,要求M是N的倍数,且它的所有各位数都是由0或1组成,要求M尽可能小,例如:输入:N=3N=31N=0输出:M=3*37=11...
任意给定一些自然数N,以0为停止输入,寻找M,要求M是N的倍数,且它的所有各位数都是由0或1组成,要求M尽可能小,
例如:
输入:
N=3
N=31
N=0
输出:
M=3*37=111
M=31*3581=111011 展开
例如:
输入:
N=3
N=31
N=0
输出:
M=3*37=111
M=31*3581=111011 展开
2010-08-09
展开全部
#include <iostream>
#include <cstdlib>
using namespace std;
//此函数将二进制数转换为字串再回转为十进制数
int BinToDec(int x)
{
char buf[8192];
itoa(x,buf,2);
return atoi(buf);
}
//此函数判断能否整除,通过参数返回商
bool CanDiv(int m,int n,int& d)
{
if(m%n == 0)
{
d = m/n;
return true;
}
return false;
}
//此函数生成符合规格的输出
void Output(int n,int d,int m)
{
cout<<"M="<<n<<"*"<<d<<"="<<m<<endl;
}
int main()
{
int n;
while(cin>>n && n!=0)
{
int binm = 1;
int d = 0;
while(d == 0)
{
int m = BinToDec(binm);
if(CanDiv(m,n,d))
{
Output(n,d,m);
break;
}
++binm;
}
}
return 0;
}
//编译器弹出警告说“楼主给的分太少了”
#include <cstdlib>
using namespace std;
//此函数将二进制数转换为字串再回转为十进制数
int BinToDec(int x)
{
char buf[8192];
itoa(x,buf,2);
return atoi(buf);
}
//此函数判断能否整除,通过参数返回商
bool CanDiv(int m,int n,int& d)
{
if(m%n == 0)
{
d = m/n;
return true;
}
return false;
}
//此函数生成符合规格的输出
void Output(int n,int d,int m)
{
cout<<"M="<<n<<"*"<<d<<"="<<m<<endl;
}
int main()
{
int n;
while(cin>>n && n!=0)
{
int binm = 1;
int d = 0;
while(d == 0)
{
int m = BinToDec(binm);
if(CanDiv(m,n,d))
{
Output(n,d,m);
break;
}
++binm;
}
}
return 0;
}
//编译器弹出警告说“楼主给的分太少了”
--
2022-12-05 广告
2022-12-05 广告
图形化编程简单理解为用积木块形式编程,scratch和python也是其中的一种,属于入门级编程,以其简单生动的画面获得无数学生的喜爱,深圳市创客火科技有限公司是一家做教育无人机的公司,旗下有编程无人机,积木无人机及室内外编队,每款飞机含有...
点击进入详情页
本回答由--提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询