本文共 1266 字,大约阅读时间需要 4 分钟。
C/C++中的%运算符要求(以 a%b 为例):
注意: 余数符号与 a 一致,和 b 的符号无关!
这与数论中关于余数的定义不相符,可以对取得的余数加上除数后再对该和求模
。
当a为负数时,可以采用如下方法求余:(a%b+b)%b
时间限制:1s,内存限制:32MB,特殊判题:否
1)题中说“可能有多组输入”,使用cin.get()!=EOF
实现。
0
时,不会经过分解。 解决: 0
。若为0,则分解结果为0;否则,进入while循环进行分解。while
,而使用do-while
。这样无论是否是0,都会先执行一遍。思路1: 使用int
存储数据,x%10
得到个位上的数字,x/10
将十位数字移动到个位。不断重复,直到x==0
。
string、char[]
存储,把 ASCII 转换为数字后直接计算。 1)使用int
存储数据。
#includeusing namespace std;#define N 10int main(){ do { int num1,num2; int n1[N],n2[N]; int value=0; int i=0,j=0; cin>>num1>>num2; while(num1!=0) { n1[i++] = num1%10; num1 = num1/10; } while(num2!=0) { n2[j++] = num2%10; num2 = num2/10; } for(int m = i-1; m>=0; m--) { for(int n = j -1; n>=0; n--) { value = value + n1[m]*n2[n]; } } cout< <
2)使用string
存储。
#includeusing namespace std;#define N 10int main(){ do { string num1,num2; int value=0; cin>>num1>>num2; for(int m = 0; m
转载地址:http://msqqf.baihongyu.com/