70,040
社区成员
发帖
与我相关
我的任务
分享【问题描述】计算a^b的个位数和百位数,如果没有百位输出0
【输入形式】3 8
【输出形式】1
0
【样例说明】输出分两行,第一行为个位数,第二行为百位数 ^ 是位运算
这代码写的,和增发一万亿异曲同工~~~
#include<iostream>
using namespace std;
using integer=int;
//还是以为^表示乘方更好玩,至少还有一个无符号溢出的性质。
int main(){
integer a,b;
cin>>a>>b;
a^=b;
b=a/100%10;
cout<<a%10<<'\n'<<(b?b:0);
return 0;
}
```c++
```
#include
int calculateDigits(int a, int b) {
int c =a ^ b; //
int unitsDigit = c % 10; // 计算个位数
int hundredsDigit = (c / 100) % 10; // 计算百位数
if (hundredsDigit == 0) {
return 0;
} else {
return unitsDigit * 10 + hundredsDigit; // 返回个位数和百位数组成的两位数
}}
题目里说“^ 是位运算”,不是指数/幂运算哦
3^8=6561
所以应该输出
1
6
才对~~~