用法:bool?与int、double是相似的类型,只不过bool的值只有ture(真/1)和false(假/0)两种情况,非零即为ture,零为false.
下面我用一串代码简单验证一下
#include <iostream>
using namespace std;
int main()
{
bool a= true;
cout<<a<<endl;
return 0;
}
输出结果即为1
例题:1?N中有多少个整数的平方在M进制下为回文数,eg:
9046的平方81830116,16进制表示为4E0A0E4,是回文数。
#include <bits/stdc++.h>
using namespace std;
int N,M;
char n[30]="0123456789ABCDEF"; //数组给我开大点!!!
bool sum(int a) //bool 新知识的
{
char m[1000]; //数组给我开大点!!!
a=a*a;
int i=0;
while(a!=0){ //也可以写 while(a)
m[i++]=n[a%M];
a=a/M;
}
int j=0,k=i-1;
while(j<k){
if(m[j]==m[k]){ //仔细点,不能写成 m[j]==m[i-1]
j++,k--;
}else{
return false;
}
}
return true;
}
int main()
{
cin>>N>>M;
int count=0;
for(int i=1;i<=N;i++){
if(sum(i)){ //积累sum(i)的写法
count++;
}
}
cout<<count;
return 0;
}
总结:booi类型就可以作为判断、循环的判断一句,对于if(sum()),当sum()为true,进行接下来的操作,while(),do? ?while() 也可。
上面代码的注释也是我小tips
最后如有错误,欢迎指正哈(小萌新的卑微生活~~)
|