关于java两个数取模的问题

问题描述

关于java两个数取模的问题
public class Test
{
public static void main(String [] args)
{
int b=5a=3;
System.out.println(a%b);

}
}
为什么输出结果为3,而不是0?

解决方案

3除以5,商0余3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

解决方案二:
a%b = 3 a/b = 0.

% 取模,也就是取余数,a = 3 b=5 a%b = 3%5=0余数为3,所以结果为3.

解决方案三:
两个数之间的最短路径问题

解决方案四:
就是3啊,怎么会是0,计算模或者余数: r = a - c*b.

解决方案五:
很常见的一个问题啊。小于后面的数的时候是前面的数。

时间: 2024-10-27 08:57:32

关于java两个数取模的问题的相关文章

java运算符的优先级和%取模

问题描述 java运算符的优先级和%取模 int a=2 ; int b=a+3*a++ ; b的输出值为什么是8 不是9吗怎么变成8啦 解决方案 ++优先级虽然高,但是第一个a编译器先对它取值了.也许你觉得第一个a应该是a自增1以后的值.但是编译器不这么认为.这种代码在C++中是未定义行为的代码,换言之语法规范没有规定结果是多少,不同的编译器可以产生不同的结果.我不清楚Java中有没有规定,但是可以肯定的是,这种模棱两可的代码绝对不要在你写程序的时候写出来. 解决方案二: 这段代码的正确写法取

Java中不使用中间变量交换两个数

在程序中实现交换两个数的功能并不复杂,但如果不使用中间变量,就需要动一下脑筋.在本文介绍了两个方法(其实原理都是一个) .其基本原理就是数的中和. 也就是说,通过某种运算(二元运算)将a和b两个数变成一个数,并保存在其中一个变量中.然后再通过同 样的运算符将a或b中和掉.这样实际上是利用了a或 b本身作为了中间变量. 先看第一个算法. static class Num { int a; int b; } public static void swap1(Num num) { num.a = nu

算法实现-请教JAVA如何得到两个数 之前的最小比例

问题描述 请教JAVA如何得到两个数 之前的最小比例 比如 5:10 = 1:2 45:60 = 3:4 自己心算一下就算出来了,写函数完全没有办法,高手请帮帮忙! 解决方案 数学问题,求两个数的最大公约数问题.多个数的最小比例,就求多个数的最大公约数. 然后每个数字除以最大公约数,就是他们的简化比例.最大公约数可用辗转相除法. 解决方案二: public class Test { public static void main(String[] args) { minScale(60, 15)

算法-java 随机生成 两个数 n1 n2

问题描述 java 随机生成 两个数 n1 n2 java 随机生成 两个数 n1 n2 要求: n1,n2 均要 小于 指定 数值 ,比如小于1000 n1 要能整除 n2 最好不用循环.... 大概一次要生成 1万条数据,越高效率越好, 越能装13越好 解决方案 public class Test { public static void main(String[] args) { Test test = new Test(); long start = System.currentTime

java se-随机数入两个数求期中素数和 求大神帮看看代码哪里错了

问题描述 随机数入两个数求期中素数和 求大神帮看看代码哪里错了 package exe; import java.applet.*; import java.awt.*; import java.awt.event.*; public class Prime extends Applet implements ActionListener { Label l1,l2; TextField t1,t2; TextArea T1; Button b1; public void init() { l1

不使用中间变量交换两个数(Java版)

本文为原创,如需转载,请注明作者和出处,谢谢!     在程序中实现交换两个数的功能并不复杂,但如果不使用中间变量,就需要动一下脑筋.在本文介绍了两个方法(其实原理都是一个).其基本原理就是数的中和.也就是说,通过某种运算(二元运算)将a和b两个数变成一个数,并保存在其中一个变量中.然后再通过同样的运算符将a或b中和掉.这样实际上是利用了a或b本身作为了中间变量.     先看第一个算法. static   class  Num {      int  a;      int  b; } pub

两个数的最大公约数

一,两个数的最大公约数: 1.欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数.其计算原理依赖于下面的定理: 定理:gcd(a,b) = gcd(b,a mod b) 证明:a可以表示成a = kb + r,则r = a mod b 假设d是a,b的一个公约数,则有 d|a, d|b,而r = a - kb,因此d|r 因此d是(b,a mod b)的公约数 假设d 是(b,a mod b)的公约数,则 d | b , d |r ,但是a = kb +r 因此d也是(

快速幂取模算法

所谓的快速幂,实际上是快速幂取模的缩写,简单的说,就是快速的求一个幂式的模(余).在程序设计过程中,经常要去求一些大数对于某个数的余数,为了得到更快.计算范围更大的算法,产生了快速幂取模算法.我们先从简单的例子入手:求abmodc 算法1.直接设计这个算法: int ans = 1; for(int i = 1;i<=b;i++) { ans = ans * a; } ans = ans % c; 缺点:这个算法存在着明显的问题,如果a和b过大,很容易就会溢出. 我们先来看看第一个改进方案:在讲

剑指offer之和为定值的两个数

题目描述: 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输入: 每个测试案例包括两行: 第一行包含一个整数n和k,n表示数组中的元素个数,k表示两数之和.其中1 <= n <= 10^6,k为int 第二行包含n个整数,每个数组均为int类型. 输出: 对应每个测试案例,输出两个数,小的先输出.如果找不到,则输出"-1 -1" 样例输入: 6 15 1 2 4 7 11 15 样例输出: