?? 1028 - hanoi tower sequence.cpp
字號(hào):
/*#include<iostream>
//#include<fstream>
#include<string>
#include<stdlib.h>
using namespace std;
#define MAX 102
int main()
{
//string num;
char num[MAX];
int caseNum;
int i,j;
int result;
int remainder;
int len;
cin>> caseNum;
for( j=0; j< caseNum; j++ )
{
cin >> num;
len=strlen(num);
result=0;
while(true)
{
remainder=0;
for( i=0; i< len; i++)
{//一個(gè)完整for循環(huán)后,num值是原值除以2的商,remainder是余數(shù)
remainder = remainder*10 + num[i]-'0';//注意:num[0]是“高”位
num[i] = remainder/2+'0';
remainder %= 2;
}
if( remainder == 0 )
++result; // 數(shù)字的地址
else
{
cout << "Case " << j +1<< ": " << result+1 << endl;
//因?yàn)閿?shù)字地址Addr[result]=2^(result-1),故result要+1,因?yàn)橹把h(huán)計(jì)算的是括號(hào)里面的值
if( j!= caseNum-1 )
cout << endl;
break;
}
}
}
return 0;
}
*/
#include<iostream>
#include<string>
using namespace std;
int main()
{
string num;
int caseNum;
int i,j;
int result;
int remainder;
cin>> caseNum;
for( j=0; j< caseNum; j++ )
{
cin >> num;
result=0;
while(true)
{
remainder=0;
for( i=0; i< num.length(); i++)
{//一個(gè)完整for循環(huán)后,num值是原值除以2的商,remainder是余數(shù)
remainder = remainder*10 + num[i]-'0';//注意:num[0]是“高”位
num[i] = remainder/2+'0';
remainder %= 2;
}
if( remainder == 0 )
++result; // 數(shù)字的地址
else
{
cout << "Case " << j +1<< ": " << result+1 << endl;
//因?yàn)閿?shù)字地址Addr[result]=2^(result-1),故result要+1,因?yàn)橹把h(huán)計(jì)算的是括號(hào)里面的值
if( j!= caseNum-1 )
cout << endl;
break;
}
}
}
return 0;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -