JAVA数字特征值
题目内容:
对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值。对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推。这个整数在第n位上的数字记作x,如果x和n的奇偶性相同,则记下一个1,否则记下一个0。按照整数的顺序把对应位的表示奇偶性的0和1都记录下来,就形成了一个二进制数字。比如,对于342315,这个二进制数字就是001101。
这里的计算可以用下面的表格来表示:
数字 |
3 |
4 |
2 |
3 |
1 |
5 |
数位 |
6 |
5 |
4 |
3 |
2 |
1 |
数字奇偶 |
奇 |
偶 |
偶 |
奇 |
奇 |
奇 |
数位奇偶 |
偶 |
奇 |
偶 |
奇 |
偶 |
奇 |
奇偶一致 |
0 |
0 |
1 |
1 |
0 |
1 |
二进制位值 |
32 |
16 |
8 |
4 |
2 |
1 |
按照二进制位值将1的位的位值加起来就得到了结果13。
你的程序要读入一个非负整数,整数的范围是[0,100000],然后按照上述算法计算出表示奇偶性的那个二进制数字,输出它对应的十进制值。
提示:将整数从右向左分解,数位每次加1,而二进制值每次乘2。
输入格式:
一个非负整数,整数的范围是[0,1000000]。
输出格式:
一个整数,表示计算结果。
输入样例:
342315
输出样例:
13
import java.util.Scanner; public class Main { public static void main(String[] args) {
Scanner in =new Scanner(System.in); int number =in.nextInt();
int numberA;
int count =0;//位数计数
int a =0;//判断数字大小
int x=0,y=0;//数字奇偶性,位数奇偶性
int sum=0;
// 输入0~100000的数字
// 判断有几位数
// 数字奇数偶数 与 数位奇数偶数 是否一致
// 输出相同奇数偶数的 二进制位数
// 可以直接判断数字大小
if (number ==0)
{
System.out.println(0);
}
else
{
//如果number大于10继续循环
do{ numberA=number%10;
number=number/10;
if (numberA==0) // 如果正好是0 需要继续下一步
{
count=count+1;//位数+1
continue;
}else if (numberA%2==0)// 判断奇偶性
{
x=0;
count=count+1;
}else if(numberA%2==1)
{
x=1;
count=count+1;
} if(count%2==0)
{
y=0;
}else
{
y=1;
}
if(x==y)
{
if (count==1)
{
sum =sum+count;
}
else
{
sum=sum+(int)Math.pow(2,count-1);
} }
}while ((double)number/10>0); System.out.println(sum);
}
}
}
JAVA数字特征值的更多相关文章
- 中国MOOC_零基础学Java语言_第3周 循环_2数字特征值
2 数字特征值(5分) 题目内容: 对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值.对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推.这个整数在第n位上的数字记作 ...
- 程序设计入门——C语言 第3周编程练习 2 数字特征值(5分)
2 数字特征值(5分) 题目内容: 对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值.对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推.这个整数在第n位上的数字记作 ...
- Java数字格式化输出时前面补0
Java数字格式化输出时前面补0 星期日 2014年11月30日| 分类: Java /** * 里数字转字符串前面自动补0的实现. * */ public class TestString ...
- 网易云课堂_程序设计入门-C语言_第三周:循环_2数字特征值
2 数字特征值(5分) 题目内容: 对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值.对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推.这个整数在第n位上的数字记作 ...
- 数字特征值-java
题目内容: 对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值.对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推.这个整数在第n位上的数字记作x,如果x和n的奇偶性相 ...
- Java数字、货币值和百分数等的格式化处理
如果我们用下列语句输出一个数 System.out.println(123456.789); 将会在Console看到输出 123456.789 那么如何得到123,456.789这种格式化的输出呢? ...
- java数字格式化
[转载] Java 提供 DecimalFormat 类,帮你用最快的速度将数字格式化为你需要的样子.下面是一个例子: importjava.text.DecimalFormat; publiccla ...
- Java数字签名算法--RSA
签名具有的特性: 安全性 抗否认性 数字签名:带有密钥(公钥.私钥)的消息摘要算法(使用私钥进行签名,使用公钥进行验证) 数字签名算法:RSA.DSA.ECDSA 数字签名特性: 验证数据完整性 认证 ...
- java 数字转中文
java代码 数字转中文,该方法只做了对int型整数的转换 private static String numberToChinese(int number) { String[] numbers = ...
随机推荐
- GoF设计模式三作者15年后再谈模式
Erich Gamma, Richard Helm, 和 Ralph Johnson在GoF设计模式发表15年以后,再谈模式,另外一位作者,也是四色原型的发明者Peter已经过世. 提问者:如今有85 ...
- ssh 远程登陆指定端口
ssh 到指定端口 ssh -p xx user@ip xx 为 端口号 user为用户名 ip为要登陆的ip SSH 原理及远程登录 http://www.ruanyifeng ...
- bootstrap设计站点中加入�代码高亮插件
这款插件的名字叫做google-code-prettify 使用该插件之前的效果: 使用插件之后的效果: 接下来说步骤: (1)下载两个文件 http://codecloud.sinaapp.com/ ...
- MFC 获取DC和输出文字、获取指定区域
缓存DC的作用:解决闪烁问题 CRect rect; GetClientRect(rect);获取view视图的区域 CClientDC dc(this); 创建了DC可作图 pdc->Dra ...
- C#特性杂谈
文中充满了各种C#与其他语言的对比及吐槽, 希望介意者勿观… 当然, 鉴于太乱, 我怀疑有没有人能看完. 学习C# Hello World 变量与表达式 动态类型 值类型和引用类型 checked支持 ...
- php 获得linux 机器的性能
<?php $str = shell_exec('more /proc/stat'); $pattern = "/(cpu[0-9]? )[\s]+([0-9]+)[\s]+([0-9 ...
- Android -- Spinner && AutoCompleteTextView
Spinner 下拉选择框 Android给我们提供了一个Spi ...
- 转:从产品经理的角度算一算,做一个app需要花多少钱?
http://mp.weixin.qq.com/s?__biz=MzA4NTM5MTgzNQ==&mid=400127477&idx=2&sn=6ab90b7028deed78 ...
- XML❤你并不孤单
XML不是已不成立的,它是慢慢发展起来的.由最初的GML发展到SGML再到HTML,最后有了是1998年发展起来的可扩展标记语言. 然而XML并非替换HTML的技术,两者的存在都十分重要. XML是一 ...
- ionic的加载功能
下面是代码(黄色背景的是加载功能的代码): <html ng-app="ionicApp"> <head> <meta charset="u ...