int v1,v2,v3;
v1 = 10;
v2 = 3;
v3 = 10/3;
通过什么语法能求出 v3 == 4? 多谢!
11 个解决方案
#1
int v1,v2,v3;
v1 = 10;
v2 = 3;
v3 = 10/3;
if (v3 != v1/v2) v3 ++;
v1 = 10;
v2 = 3;
v3 = 10/3;
if (v3 != v1/v2) v3 ++;
#2
public int getMyInt(int a,int b) {
return(((double)a/(double)b)>(a/b)?a/b+1:a/b);
}
调用:
System.out.println(getMyInt(10,3));
return(((double)a/(double)b)>(a/b)?a/b+1:a/b);
}
调用:
System.out.println(getMyInt(10,3));
#3
谢谢!
有没有用函数直接求的方法?
到今日深夜12:00止,此贴结贴。
如果没有别的答案,分数给上面回答的朋友。如果还有朋友热心回答则分数大家分。
再次感谢。
有没有用函数直接求的方法?
到今日深夜12:00止,此贴结贴。
如果没有别的答案,分数给上面回答的朋友。如果还有朋友热心回答则分数大家分。
再次感谢。
#4
song的是错误的。
double t=((double)v1)/((double)v2);
if(v3!=t){
if(t<0)
v3--;
else
v3++;
}
double t=((double)v1)/((double)v2);
if(v3!=t){
if(t<0)
v3--;
else
v3++;
}
#5
二楼那个方法是通用的,你可以建立一个类测试,进行比较,如下:
public class myClass {
public static int getMyInt(int a,int b) {
return(((double)a/(double)b)>(a/b)?a/b+1:a/b);
}
public static void main(String args[]) {
System.out.println(getMyInt(10,3));
System.out.println(getMyInt(9,3));
}
}
public class myClass {
public static int getMyInt(int a,int b) {
return(((double)a/(double)b)>(a/b)?a/b+1:a/b);
}
public static void main(String args[]) {
System.out.println(getMyInt(10,3));
System.out.println(getMyInt(9,3));
}
}
#6
Math.floor((double)v1/(double)v2+1);
#7
Math.ceil(v1/v2)+1
#8
你应该考虑一下分为几种情况
第一种是整除,第二种是有余数,然后自己写方法,直接的方法好像是没有的。
PS:负数的时候不会有特殊要求吧?
第一种是整除,第二种是有余数,然后自己写方法,直接的方法好像是没有的。
PS:负数的时候不会有特殊要求吧?
#9
感谢大家答复。
此贴结贴!
此贴结贴!
#10
另外补充一下:
jianfeizhu(飞扬)和 rainight(雨夜聆风) 的答案当刚好整除的时候似乎不行。
“Math.floor((double)v1/(double)v2+1);”
“Math.ceil(v1/v2)+1”
jianfeizhu(飞扬)和 rainight(雨夜聆风) 的答案当刚好整除的时候似乎不行。
“Math.floor((double)v1/(double)v2+1);”
“Math.ceil(v1/v2)+1”
#11
BigDecimal b1 = new BigDecimal(10);
BigDecimal b2 = new BigDecimal(3);
BigDecimal b3 = new BigDecimal(2);
System.out.println(b1.divide(b2,0,BigDecimal.ROUND_HALF_DOWN).intValue());
System.out.println(b1.divide(b3,0,BigDecimal.ROUND_HALF_DOWN).intValue());
BigDecimal b2 = new BigDecimal(3);
BigDecimal b3 = new BigDecimal(2);
System.out.println(b1.divide(b2,0,BigDecimal.ROUND_HALF_DOWN).intValue());
System.out.println(b1.divide(b3,0,BigDecimal.ROUND_HALF_DOWN).intValue());
#1
int v1,v2,v3;
v1 = 10;
v2 = 3;
v3 = 10/3;
if (v3 != v1/v2) v3 ++;
v1 = 10;
v2 = 3;
v3 = 10/3;
if (v3 != v1/v2) v3 ++;
#2
public int getMyInt(int a,int b) {
return(((double)a/(double)b)>(a/b)?a/b+1:a/b);
}
调用:
System.out.println(getMyInt(10,3));
return(((double)a/(double)b)>(a/b)?a/b+1:a/b);
}
调用:
System.out.println(getMyInt(10,3));
#3
谢谢!
有没有用函数直接求的方法?
到今日深夜12:00止,此贴结贴。
如果没有别的答案,分数给上面回答的朋友。如果还有朋友热心回答则分数大家分。
再次感谢。
有没有用函数直接求的方法?
到今日深夜12:00止,此贴结贴。
如果没有别的答案,分数给上面回答的朋友。如果还有朋友热心回答则分数大家分。
再次感谢。
#4
song的是错误的。
double t=((double)v1)/((double)v2);
if(v3!=t){
if(t<0)
v3--;
else
v3++;
}
double t=((double)v1)/((double)v2);
if(v3!=t){
if(t<0)
v3--;
else
v3++;
}
#5
二楼那个方法是通用的,你可以建立一个类测试,进行比较,如下:
public class myClass {
public static int getMyInt(int a,int b) {
return(((double)a/(double)b)>(a/b)?a/b+1:a/b);
}
public static void main(String args[]) {
System.out.println(getMyInt(10,3));
System.out.println(getMyInt(9,3));
}
}
public class myClass {
public static int getMyInt(int a,int b) {
return(((double)a/(double)b)>(a/b)?a/b+1:a/b);
}
public static void main(String args[]) {
System.out.println(getMyInt(10,3));
System.out.println(getMyInt(9,3));
}
}
#6
Math.floor((double)v1/(double)v2+1);
#7
Math.ceil(v1/v2)+1
#8
你应该考虑一下分为几种情况
第一种是整除,第二种是有余数,然后自己写方法,直接的方法好像是没有的。
PS:负数的时候不会有特殊要求吧?
第一种是整除,第二种是有余数,然后自己写方法,直接的方法好像是没有的。
PS:负数的时候不会有特殊要求吧?
#9
感谢大家答复。
此贴结贴!
此贴结贴!
#10
另外补充一下:
jianfeizhu(飞扬)和 rainight(雨夜聆风) 的答案当刚好整除的时候似乎不行。
“Math.floor((double)v1/(double)v2+1);”
“Math.ceil(v1/v2)+1”
jianfeizhu(飞扬)和 rainight(雨夜聆风) 的答案当刚好整除的时候似乎不行。
“Math.floor((double)v1/(double)v2+1);”
“Math.ceil(v1/v2)+1”
#11
BigDecimal b1 = new BigDecimal(10);
BigDecimal b2 = new BigDecimal(3);
BigDecimal b3 = new BigDecimal(2);
System.out.println(b1.divide(b2,0,BigDecimal.ROUND_HALF_DOWN).intValue());
System.out.println(b1.divide(b3,0,BigDecimal.ROUND_HALF_DOWN).intValue());
BigDecimal b2 = new BigDecimal(3);
BigDecimal b3 = new BigDecimal(2);
System.out.println(b1.divide(b2,0,BigDecimal.ROUND_HALF_DOWN).intValue());
System.out.println(b1.divide(b3,0,BigDecimal.ROUND_HALF_DOWN).intValue());