…… 连续整数输出。 int seqNO = i*m+j+1; 呗: public static void main(String[] args) { int m = 10, n = 2;
for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { int seqNO = i * m + j + 1; System.out.println("连续的数字:" + seqNO);// 连续的数字如:1,2,3,4,5,6,7,8,9....... } } }
i * m + j 好吧,我错了,刚才
很明显。。int seqNo = (m)*i + j+1;...才是答案吧!!!
i*m+j+1 应该没有问题
public class Test2 { /** * @param args */ public static void main(String[] args) { int n=10,m=5; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ int seqNO =i+1+j+(i*(m-1));
int seqNO = ______???
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
int seqNo = 0;
if(i == 0){
seqNo = j+1;
}else{
seqNo = (m)*i + j+1;
}
// if(i>0) seqNo += 1;
System.out.println(seqNo);
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
int seqNo = 0;
if(i == 0){
seqNo = j+1;
}else{
seqNo = (m)*i + j+1;
}
// if(i>0) seqNo += 1;
System.out.println(seqNo);
}
}
在每个打印语句里获得的n,m,i,j有以下特点:
n,m :不变
i :每循环m次增加1
j :每次增加1所以seq的表达方式最后为 m*i+j+k k为输出的起始数,从1输出就是 m*i+j+1
不过用我们好好想想就可以知道得出结果了 连续输出
内循环走 M 次
外循环每走一次 里面就走了M次~~
里面里面是 1 2 3 外循环必须从4开始~~所以就有i*m ~
不过用我们好好想想就可以知道得出结果了 连续输出
内循环走 M 次
外循环每走一次 里面就走了M次~~
外循环如果走了第一次里面如果是 1 2 3 那么外循环第2次必须从4开始~~所以就有i*m +1 i=1 m=3
我的压缩包里面不止一两样东西哦,那可是我当初学习的所有资料。
http://download.csdn.net/user/yangtonghai
for(int i=0;i<2;i++){
for(int j=0;j<10;j++){
int seqNO = (i*10)+j+1;
System.out.println("连续的数字:"+seqNO);//连续的数字如:1,2,3,4,5,6,7,8,9.......
}
}输出为:
连续的数字:1
连续的数字:2
连续的数字:3
连续的数字:4
连续的数字:5
连续的数字:6
连续的数字:7
连续的数字:8
连续的数字:9
连续的数字:10
连续的数字:11
连续的数字:12
连续的数字:13
连续的数字:14
连续的数字:15
连续的数字:16
连续的数字:17
连续的数字:18
连续的数字:19
连续的数字:20类推:
int seqNO = (i*m)+j+1;
饿.....这个有一点点绕口,既然要求输出的结果是连续的,那么j肯定要作为最后表达式的一环。
即seq = j + **** (****表示未知量)然后j在一个i循环里取值为 0-m 即输出的结果为 0+****~~m-1+****
在相邻的第二个i循环里面 输出结果同样为 0+****~~m-1+**** 要保证第一个循环里最后一个数和第二个循环里第一个数相邻
就要让 m-1+****(第一个循环里的未知量) +1(增量) = 0+****(第二个循环里的未知量)得出每一个i循环,未知量就需要增加m刚好i是自增1的,所以得出seq = j+ i*m 因为没有确定起始数,而i和j起始值都为0,最后结果是 seq = m*i+j+k k为输出的起始数
k为任意整数
如果k = 1就是1,2,3,4,5,6,7,8,9
他的值都不对应了。
n=m时才可以的从一一直递增
是正确的
如果m-1>=n-1引用了m进制的概念可以表示,m*i+j,可以表示00到(n-1)(m-1)(注:这里是m进制表示)之间所有的数,且是连续的。
但是m-1<n-1时,就会出现问题,n-1表示m制数是不合法的(二进制里不会出现2),例如二进制的11+1应该等于100但是如果不进位表示成符号21又何尝不可,这样就能表示成当m-1<n-1时,m*i+j就可以表示成00到m(n-1)+m-1内的全部连续的整数。
连续整数输出。
int seqNO = i*m+j+1;
呗: public static void main(String[] args) {
int m = 10, n = 2;
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
int seqNO = i * m + j + 1;
System.out.println("连续的数字:" + seqNO);// 连续的数字如:1,2,3,4,5,6,7,8,9.......
}
}
}
好吧,我错了,刚才
应该没有问题
public class Test2 { /**
* @param args
*/
public static void main(String[] args) {
int n=10,m=5;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
int seqNO =i+1+j+(i*(m-1));
System.out.println("连续的数字:"+seqNO);//连续的数字如:1,2,3,4,5,6,7,8,9.......
}
System.out.println("-------------------------------");
}
}}连续的数字:1
连续的数字:2
连续的数字:3
连续的数字:4
连续的数字:5
-------------------------------
连续的数字:6
连续的数字:7
连续的数字:8
连续的数字:9
连续的数字:10
-------------------------------
连续的数字:11
连续的数字:12
连续的数字:13
连续的数字:14
连续的数字:15
-------------------------------
连续的数字:16
连续的数字:17
连续的数字:18
连续的数字:19
连续的数字:20
-------------------------------
连续的数字:21
连续的数字:22
连续的数字:23
连续的数字:24
连续的数字:25
-------------------------------
连续的数字:26
连续的数字:27
连续的数字:28
连续的数字:29
连续的数字:30
-------------------------------
连续的数字:31
连续的数字:32
连续的数字:33
连续的数字:34
连续的数字:35
-------------------------------
连续的数字:36
连续的数字:37
连续的数字:38
连续的数字:39
连续的数字:40
-------------------------------
连续的数字:41
连续的数字:42
连续的数字:43
连续的数字:44
连续的数字:45
-------------------------------
连续的数字:46
连续的数字:47
连续的数字:48
连续的数字:49
连续的数字:50
-------------------------------