java实例:1的数目
2015-08-16 19:42
417 查看
给定一个正整数N,写下从1开始到N的所有整数,然后数一下其中出现1的个数。
例如 N=3, 1,2,3 出现1个1
N=11, 1,2,3,4,5,6,7,8,9,10,11 出现4个1
解法1:
从1 开始遍历到N,将其中每一个数中含有1的个数加起来,就得到所有1的个数。
程序清单:
class count1num{
public int count(int n){
int m=0;
while (n!= 0){
if((n)==1){
m+=1;
}
n=n/10;
}
return m;
}
}
解法2:
将每一位上1的个数相加起来就是所有的1的个数和,例如123 个位出现1的个数为13,十位出现1的个数为20,百位出现1的个数为24,所有出现1的个数13+20+24=57.
程序清单:
// 各个位数上1 的个数之和
class count2{
public int count(int n){
int iCount=0;
int iFactor=1;
int iLowerNum=0;
int iCurrNum=0;
int iHigherNum=0;
while((n/iFactor )!=0){
iLowerNum = n - (n/iFactor) * iFactor;
iCurrNum = ( n / iFactor) % 10;
iHigherNum = n / (iFactor*10);
switch (iCurrNum)
{
case 0:
iCount += iHigherNum * iFactor;
break;
case 1:
iCount += iHigherNum * iFactor + iLowerNum +1;
break;
default:
iCount += (iHigherNum + 1) * iFactor;
break;
}
iFactor *= 10;
}
return iCount;
}
}
例如 N=3, 1,2,3 出现1个1
N=11, 1,2,3,4,5,6,7,8,9,10,11 出现4个1
解法1:
从1 开始遍历到N,将其中每一个数中含有1的个数加起来,就得到所有1的个数。
程序清单:
class count1num{
public int count(int n){
int m=0;
while (n!= 0){
if((n)==1){
m+=1;
}
n=n/10;
}
return m;
}
}
解法2:
将每一位上1的个数相加起来就是所有的1的个数和,例如123 个位出现1的个数为13,十位出现1的个数为20,百位出现1的个数为24,所有出现1的个数13+20+24=57.
程序清单:
// 各个位数上1 的个数之和
class count2{
public int count(int n){
int iCount=0;
int iFactor=1;
int iLowerNum=0;
int iCurrNum=0;
int iHigherNum=0;
while((n/iFactor )!=0){
iLowerNum = n - (n/iFactor) * iFactor;
iCurrNum = ( n / iFactor) % 10;
iHigherNum = n / (iFactor*10);
switch (iCurrNum)
{
case 0:
iCount += iHigherNum * iFactor;
break;
case 1:
iCount += iHigherNum * iFactor + iLowerNum +1;
break;
default:
iCount += (iHigherNum + 1) * iFactor;
break;
}
iFactor *= 10;
}
return iCount;
}
}
相关文章推荐
- Spring MVC入门教程(二)
- spring项目,数据字典信息写入缓存
- JAVA多线程实现的三种方式
- java运行机制:跨平台的原因
- (4)java方法区
- java正则表达式
- String和Date之间的转换(Java)
- MyEclipse10 安装pydev插件
- java was started but returned exit code=13
- Java序列化
- 怎么让自己的java系统使用支付接口
- equals()和==的用法及区别
- Java中E、T、K、V、N的含义
- Java神奇的装箱与拆箱
- 解决ubuntu中JDK的Picked up JAVA_TOOL_OPTIONS提示问题。
- 【转】eclipse下使用git上传(下载)代码至(从)github
- 【原创】Ubuntu jdk报Picked up JAVA_TOOL_OPTIONS信息解决
- 图例解析JDK,JRE,JVM概念及使用
- springMVC 笔记
- (3)java棧