Java50道经典习题-程序43 求奇数个数
题目:求0—7所能组成的奇数个数,奇数中不包含重复数字。
public class Prog43 {
public static void main(String[] args) {
//0-7能组成的所有不重复的数的最大值是76543210
//0-76543210中所有的奇数个数为76543210/2
String[] s=new String[76543210/2];//定义一个字符串数组存储0-7能组成的所有奇数
int n=0;//定义一个变量为满足条件的奇数计数
int count=0;
//将所有奇数转换成字符串存入字符串数组s中
for(int i=1;i<=76543210;i++) {
if((i+1)%2==0) {
s[n]=String.valueOf(i);
n++;
}
}
//将所有的字符串数组中的元素取出分别存入一个字符数组c中
for(int j=0;j<n;j++) {
char[] c= s[j].toCharArray();
outer:for(int k=0;k<c.length;k++) {
for(int m=1;m<c.length;m++) {
if(c[k]==c[m]) {//将字符数组中的每个元素取出,一旦发现重复值退出循环
break outer;
}
}
count++;//若该字符数组中不存在重复的元素,则该奇数为满足条件的奇数
}
}
System.out.println("0-7所能组成的不包含重复数字的奇数个数共有:"+count+"个");
}
}
/*运行结果
0-7所能组成的不包含重复数字的奇数个数共有:18567220个
*/
Java50道经典习题-程序43 求奇数个数的更多相关文章
- Java50道经典习题-程序27 求素数
题目:求100之内的素数分析:素数即除了1和它本身以外不再有其他因数,最小的素数是2 判断一个数n是否是素数的方法:将n分别与2到(n+1)/2取余,若有一个值为0,则n就不为素数,反之为素数 pub ...
- Java50道经典习题-程序6 求最大公约数及最小公倍数
题目:输入两个正整数m和n,求其最大公约数和最小公倍数.分析:用辗转相除法求最大公约数 两个数的最大公约数:设两个数分别为n和m,(n>=m);用定义一个变量i,使用for循环,将i的取值 ...
- Java50道经典习题-程序9 求完数
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程找出1000以内的所有完数. public class Prog9 { public stati ...
- Java50道经典习题-程序20 求前20项之和
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和.分析:请抓住分子与分母的变化规律.三个连续分数之间的规律是:上两个分子之和等于第三个分数的分子 ...
- Java50道经典习题-程序21 求阶乘
题目:求1+2!+3!+...+20!的和分析:使用递归求解 0的阶乘和1的阶乘都为1 public class Prog21{ public static void main(String[] ar ...
- Java50道经典习题-程序23 求岁数
题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁.问第4个人岁数,他说比第3个人大2岁.问第三个人,又说比第2人大两岁.问第2个人,说比第1个人大两岁.最后问第一个人,他说是10岁.请问 ...
- Java50道经典习题-程序29 求矩阵对角线之和
题目:求一个3*3矩阵对角线元素之和分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出. 例如:下面矩阵的对角线之和为24 1 4 6 2 5 3 9 7 8 public cla ...
- Java50道经典习题-程序38 求字符串长度
题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度. import java.util.Scanner; public class Prog38 { public stat ...
- Java50道经典习题-程序42 求数字
题目:809*??=800*??+9*??+1其中??代表两位数,若有这样得数,求??代表的两位数 public class Prog42{ public static void main(Strin ...
随机推荐
- NOIp2018集训test-10-24(am&pm)
李巨连续AK三场了,我跟南瓜打赌李巨连续AK七场,南瓜赌李巨连续AK五场. DAY1 T1 qu 按题意拿stack,queue和priority_que模拟即可.特判没有元素却要取出的情况. T2 ...
- centos7 showdoc 手动安装部署
1.从 https://github.com/star7th/showdoc 下载压缩包: 2.解压文件,然后将showdoc-master下面的文件上传至服务器对应的文件下面: 3.在浏览器中输入 ...
- (1)java8初体验
很多博客都拿Comparator,我也贴一下吧. java8以前的匿名内部类用来排序. //匿名内部类 @Test public void java8Test() { Person p1 = new ...
- [转]java 中的序列化是什么意思?有什么好处?
1.序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来.虽然你可以用你自己的各种各样的方法来保存Object States,但是Java给你提供一种应该比 ...
- Linux SPI驱动(一)
转载:http://www.cnblogs.com/lknlfy/p/3265019.html (原作者注:)根据我个人所知道的,Linux SPI一直是处于被“忽略”的角色,市场上大部分板子在板级文 ...
- Java基础--压缩和解压缩gz包
gz是Linux和OSX中常见的压缩文件格式,下面是用java压缩和解压缩gz包的例子 public class GZIPcompress { public static void FileCompr ...
- DLL 演示
编写DLL时的函数与一般的函数方法基本一样.但要对库中的函数进行必要的声明,以说明哪些函数是可以导出的,哪些函数是不可以导出的. 把DLL中的函数声明为导出函数的方法有两种: 一是使用关键字_decl ...
- oracle——基础知识(二)未完
1.select 查询 单独的一条 select 语句 可以一次查询多条记录:但是在 pl/sql 块中,select语句只能 使用INTO子句:必须并且只能返回一行 2.EXECUTE IMMEDI ...
- 北京儿研所自制药一览表,宝妈们必读!<转>
原帖地址:http://www.360doc.com/content/15/0910/22/22655489_498339090.shtml
- orancle数据库 插入数量 值大于 1000 解决方案
存储过程:当基站ID大于1000的时候,把ID通过存储过程插入表,然后处理 不推荐这么弄,没办法,项目逼到这了,以后尽量避免这样的需求发生! CREATE OR REPLACE PROCEDURE i ...