///使用++实现加法运算
int add(int op1,int op2){
for(int i=0;i<op2;i++){
op1++;
}
return op1;
}
///只使用++ 进行乘法运算 op1*op2
int multi(int op1,int op2){
int result=0;
for(int i=0;i<op2;i++){
// result+op1
result=add(result,op1);
}
return result;
}
///op1-op2
int sub(int op1,int op2){
if(op1>=op2){
for(int i=0;i<op1;i++){
if(add(op2,i)==op1){
return i;
}
}
}else{
for(int i=0;i<op1;i++){
if(add(op1,i)==op2){
return -i;
}
}
}
}
///op1/op2
int div1(int op1,int op2){
if(op1>op2){
for(int i=0;i<op1;i++){
if(multi(op2,i)>op1){
return i-1;
}
}
}else{
return 0;
}
}
int multi(int op1, op2) {
int res = op1;
for(int i=1; i<op2; i++) {
for(int j=0; j<op1; j++) {
if(res++ > Integer.MAX_VALUE)
res = Integer.MAX_VALUE;
}
}
return res;
}
int sub(int op1, int op2) {
boolean positive = true;
if(op1 < op2)
positive = false;
int res = 0;
if(!positive) {
int tmp = op1;
op1 = op2;
op2 = tmp;
}
for(int i=op2; i<op1; i++)
res++;
return positive ? res : -res;
}
int div(int op1, int op2) {
int res = 0;
for(int i=1; i<op1; i++) {
if(multi(++i, op2) > op1) {
res = i;
break;
}
i = sub(i, 1);
}
return res;
}
/*乘法*/
int multi(int op1,int op2){
int result =0; //a*b可以装换为b个a相加,故使用两层循环
for (int i=1;i<=op1;i++){
for(int j=1;j<=op2;j++){
result++;
}
}
return result;
}
/*减法*/
int sub(int op1,int op2){
int result =0; //a-b==c 可以转换为a==b+c,即从数b开始向后走c个数,即为数a
if(op1>=op2){ //为了判断两数大小,若被减数小于减数,程序找不出c,所以添加判断,
//本程序目前还无法输出小于0的结果
for(int i=op2;i<op1;i++){
result++;
}
}else{
for(int i=op1;i<op2;i++){
result++;
}
}
return result;
}
/*除法*/
int div(int op1,int op2){
int a=0; // a/b==c可以转换为a==b*c(无余数情况),而b*c可理解为b个c相加
int result=0; //所以两层循环做b*c,判断乘积==a时的c值
for(int i=1;i<=op1;i++){
for ( int j=1;j<=op2;j++){
a++;
if(a == op1){ //由于若能整除,c整好为商,若不能整除,商为c-1
if(j==op2){
result=i;
}else{
for(int k=1;k<i;k++){ //c-1==k转换为k+1==c
result=k;
}
}
}
}
}
return result;
}
class Solution {
public:
int multi(int op1,int op2) {
int cnt=0;
for(int i=0;i<op1;i++) {
for(int j=0;j<op2;j++) {
cnt++;
}
}
return cnt;
}
int sub(int op1,int op2) {
int cnt=0;
for(int i=op2;i<op1;i++) {
cnt++;
}
return cnt;
}
int div(int op1,int op2) {
int cnt=0;
int i,j;
i=j=0;
while(i<op1) {
if(j==op2) {
cnt++;
j=0;
}
i++;
j++;
}
return cnt;
}
};
int multi(int opl,int op2) {
int s = 0;
for ( int i=0;i<op1;++i ) {
for ( int j=0;j<op2;++j ) {
++s;
}
}
return s;
}
int sub(int op1,int op2) {
int j=0;
for ( int i=op2;i<op1;++i ) {
++j;
}
return j;
}
int div(int op1,int op2) {
int s = 0;
int i=0,j=0;
while(i<op1) {
if ( j==op2 ) {
++s;
j = 0;
}
++i;
++j
}
return s;
}