倒
看这样行不行
book isok = true;
for(int i=0;isok;i++)
{
int x = 0;
for(int ii=0;ii<=i;ii++)
x += 2^ii;//不知道次方是不是这么写的:)
if(n==x)
isok = false;
if(n<x)
faint;
}
.....
看这样行不行
book isok = true;
for(int i=0;isok;i++)
{
int x = 0;
for(int ii=0;ii<=i;ii++)
x += 2^ii;//不知道次方是不是这么写的:)
if(n==x)
isok = false;
if(n<x)
faint;
}
.....
解决方案 »
- 帮我看下这句代码,老提示“服务器标记的格式不正确”。
- asp.net 多语言版本
- vs 2008 导航已取消
- 调用WebService出错! 基础连接已经关闭: 无法连接到远程服务器。
- c#时间
- 关于DataGrid编辑多行显示的功能
- session,cookie存放问题,刚从ASP转过来.学习中,请教.
- 缓存 问题!!!不知道怎样解决!
- 非常困惑的问题.....
- 100分求ASP(不是.NET) 调用SQL SERVER的存储过程,且存储过程中有多个select 语句,故需要返回多个记录集,请问这样可以做到吗?怎样做呢
- 在datagrid中,删除记录时,如何弹出确认对话框
- 怎么设置aspnetpager的当前页号码?
不断的除2取余
i=0;
while(n) a[i++]=n%2,n/=2;a[0]表示是否存在2^0
a[1]表示是否存在2^1
.
.
.
int i;x = 7; // 你想要拆分的数字。
i = 1;while (x != 0)
{
if ((x & i) != 0)
{
MessageBox.Show(i.ToString());
x &= ~i;
}
i <<= 1;
}
#include <math.h>void main()
{
int num; //ÓÉÓû§ÊäÈëÒ»¸öÕûÊý£¬½øÐзֽâ
cout<<"please input a integer:";
cin>>num; //ÏÈÅжϽ«Òª×ª»»¶øÀ´µÄ¶þ½øÖÆÊýµÄ³¤¶È
int pw = 0;
while(1)
{
if(pow(2,pw) > num)
break;
pw++;
}
//¸ù¾ÝÕâ¸ö³¤¶ÈÉêÇëÒ»¸öÊý×飬ÓÃÓڴ洢ת»»¶øÀ´µÄ¶þ½øÖÆÊý
int* binaryNumber = new int[pw];
for(int i = pw - 1; i >= 0; i--)
{
binaryNumber[i] = num%2;
num = (int)num/2;
}
//Êä³ö½á¹û
cout<<"The result is:"<<num<<"=";
for(i = 0; i < pw - 1; i++)
{
cout<<binaryNumber[i]<<" * 2^"<<pw - i - 1<<" + ";
}
cout<<binaryNumber[pw - 1]<<"* 2^0"<<endl;
}
#include <math.h>void main()
{
int num; //由用户输入一个整数,准备分解
cout<<"please input a integer:";
cin>>num; //先判断将要转换而来的二进制数的长度
int pw = 0;
while(1)
{
if(pow(2,pw) > num)
break;
pw++;
}
//根据这个长度申请一个数组,存储转换而来的二进制数
int* binaryNumber = new int[pw];
for(int i = pw - 1; i >= 0; i--)
{
binaryNumber[i] = num%2;
num = (int)num/2;
}
//输出结果
cout<<"The result is:"<<num<<"=";
for(i = 0; i < pw - 1; i++)
{
cout<<binaryNumber[i]<<" * 2^"<<pw - i - 1<<" + ";
}
cout<<binaryNumber[pw - 1]<<"* 2^0"<<endl;
}