-
C++之将一个数的【各个位数】分别输出, 这个数可以是个位数、十位数、百位数、千位数、万位数.....
2020-07-28 14:38:49这个题目的要求是,输入一个数,然后将这个数的各个位上的数字输出出来,这个数可以是1位数,2位数,3位数,4位数,5位数,6位数,7位数,8位数...... 如果我们叫这个数为m, 如果m=45678,那么将输出8,7,6,5,...这个题目的要求是,输入一个数,然后将这个数的各个位上的数字输出出来,这个数可以是1位数,2位数,3位数,4位数,5位数,6位数,7位数,8位数......
如果我们叫这个数为m,
如果m=6,那么将输出6
如果m=28,那么将输出8,2
如果m=543,那么将输出3,4,5
如果m=8765,那么将输出5,6,7,8
如果m=45678,那么将输出8,7,6,5,4
..........
一、程序如下(核心代码):
#include <iostream> using namespace std; int main() { int num=0; int n; cout << "请输入一个正数:" << endl; cin >> num; while (num > 0) { n = num % 10; cout << n << endl; num = num / 10; } }
一、输出如下:
二、增加了一个While语句,方便开发者测试的时候可以无限输入数进行测试,核心代码和上面的程序是一样的
#include <iostream> using namespace std; int main() { int num=0; int n; while (1) { cout << "请输入一个正数:" << endl; cin >> num; while (num > 0) { n = num % 10; cout << n << endl; num = num / 10; } cout << endl; } }
二、输出如下:
-
Java数字特征值(对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推。...
2020-03-31 13:06:06对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推。这个整数在第n位上的数字记作x,如果x和n的奇偶性相同,则记下一个1,否则记下一个0。按照整数的顺序把对应位的表示奇偶性的0和1都记录...2 数字特征值(5分)
题目内容:
对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值。对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推。这个整数在第n位上的数字记作x,如果x和n的奇偶性相同,则记下一个1,否则记下一个0。按照整数的顺序把对应位的表示奇偶性的0和1都记录下来,就形成了一个二进制数字。比如,对于342315,这个二进制数字就是001101。这里的计算可以用下面的表格来表示:
按照二进制位值将1的位的位值加起来就得到了结果13。
你的程序要读入一个非负整数,整数的范围是[0,100000],然后按照上述算法计算出表示奇偶性的那个二进制数字,输出它对应的十进制值。
提示:将整数从右向左分解,数位每次加1,而二进制值每次乘2。
输入格式:
一个非负整数,整数的范围是[0,1000000]。输出格式:
一个整数,表示计算结果。输入样例:
342315输出样例:
13
时间限制:500ms内存限制:32000kbimport java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in=new Scanner(System.in); int a,i,n=1,result=0,m=1,x; a=in.nextInt(); while(a>0) { x=a%10; if(x%2==0&&n%2==0||x%2!=0&&n%2!=0) { for(i=1;i<n;i++) { m=m*2; } result=result+m; m=1; } a=a/10; n++; } System.out.println(result); } }
-
然而这个里程表有个毛病:它总是从3变到5,而跳过数字4,里程表所有位(个位、 十位、百位等)上的数字都是...
2019-07-03 18:04:01然而这个里程表有个毛病:它总是从3变到5,而跳过数字4,里程表所有位(个位、 十位、百位等)上的数字都是如此。/ /思路:方法1,因为这个公里表跳过了4,所以含有4的都没有被记录,直接跳过了4,所以只要是不含有.../题目要求 ;某辆汽车有一个里程表,该里程表可以显示一个整数,为该车走过的公里数。然而这个里程表有个毛病:它总是从3变到5,而跳过数字4,里程表所有位(个位、 十位、百位等)上的数字都是如此。/
/思路:方法1,因为这个公里表跳过了4,所以含有4的都没有被记录,直接跳过了4,所以只要是不含有四的都是实际的公里表
方法2,我们用总的公里数 - 含有四的公里数 = 实际公里数
演示方法2/
#include<stdio.h>
int main()
{
int i;
int num;
int count = 0;//记录含有4的个数
scanf("%d",&num);
for(i = 1;i <= num;i ++)
{
if(i % 10 == 4 || (i / 10) % 10== 4 || (i / 100) % 10 == 4)
count ++;}
printf("%d",num - count);
}
-
汇编——将5位十进制数的ASCII串转换为一个字的二进制,然后在屏幕上以16进制形式输出
2018-12-04 23:57:54文章中的例子是在缓冲区中有5个十进制数的ASCII码值,然后将这5个十进制数转化成一个字,最后以16进制形式输出在屏幕上。 1.DDATA SEGMENT 2.MES DB 'The ascii code of decimal code are:$' 3.BUF DB 30H,30H,39...十进制转化为二进制数的方法:从十进制数的最高位开始做乘10加次高位的操作,依次类推,即可求出二进制数的结果,这里二进制的意思是在内存中的存储形式。
文章中的例子是在缓冲区中有5个十进制数的ASCII码值,然后将这5个十进制数转化成一个字大小的二进制数,最后转化成16进制形式输出在屏幕上。
DDATA SEGMENT MES DB 'The ascii code of decimal code are:$' BUF DB 30H,30H,39H,31H,32H DB 10H DUP(0) DDATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DDATA START: MOV AX,DDATA MOV DS,AX MOV SI,OFFSET BUF MOV BL,0AH ;送被乘数 MOV CX,0004H ;送转换位数 MOV AH,00H MOV AL,[SI] ;取第一位ASCII码 SUB AL,30H A1: INC SI IMUL BL ;乘10 ADD AL,[SI] SUB AL,30H LOOP A1 MOV BX,AX MOV DX,OFFSET MES ;显示提示信息 MOV AH,09H INT 21H MOV AX,BX ;显示结果 MOV CX,4 A3: PUSH CX MOV CL,4 ROL AX,CL POP CX MOV BX,AX ;用BX保存AX移位之后的结果,之后再将保存的结果回送给AX,AX经过四次移位,四次分别处理16位,依次输出16进制的4位 AND AL,0FH CMP AL,0AH JB A2 ADD AL,07H A2: ADD AL,30H MOV DL,AL MOV AH,02H INT 21H MOV AX,BX ;将存在BX中AX移位结果回送给AX, LOOP A3 MOV AH,4CH INT 21H CODE ENDS END START
16-20行代码的功能是将十进制数串转化成二进制,用的就是文章开头讲的那个方法。
21行代码 用BX寄存器作先将AX的值保存一下。
25-41行的代码就是将已经转化成二进制的十进制数转化成16进制的形式输出在屏幕上。 整个转化过程分一共循环四次,因为AX是16位寄存器,存了一个字大小的数据,要将这个数据转化成16进制,每4位一组,所以16进制是4位表示。每一次循环,AX左移4位,并用BX将移位的结果保存下来,然后一次循环处理完之后,再将BX中存的值回送给AX,转换成16进制后输出显示;下一次循环的时候,AX又右移4位,BX保存,以此循环,四次操作之后,AX的值被处理成了4位表示的16进制。
33-36行的代码作用:其中0H~ 9H之间的数加30H,即可得0H~ 9H的ASCII码,而AH~FH的ASCII码,则需再加7H。
测试结果,十进制912对应的16进制数就是0390.
-
(“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3?,则153是一个...
2019-09-13 15:28:35一个数字模(%)上10取得是这个数字的个位,那么取十位我们可以先用这个数字除以10,再去模上10,这样就得到原数字的十位,百位同理。那么这道题就可以做了。 具体代码实现如下: public class NarcissisticNumber { ... -
找出由5、6、2、9、4、1的3个数字组成的最大的3位数的程序
2018-03-23 00:12:53第二个循环周期digit=10,表示找十位数;第三个循环周期digit=1,表示找个位数。 没词都是找剩余元素中的最大值。这通过里层的for循环实现的。程序用max表示上一次找到的数字,本次要找的是小于max的最大数字。 这个... -
用1、2、3、4这四个数字组成多少种各位互不相同且无重复的三位数?
2020-05-08 22:33:39//有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #include<stdio.h> int main() ...{ //找出个位既不和百位上的数字相同, 又不和十位上的数字相同 if(k!=i&& -
统计个位数字
2014-12-20 10:05:05例1:用随机函数生成100个数,设计程序统计个位上是0、1、2、3、4、5、6、7、8、9的数字分别为多少? 【分析】这是一个基本的算法题。利用C++中的随机函数生成100个随机数,关键问题是如何获取每个数的个位数。 ... -
vue中怎么将数字的末位去掉_【数学问题讨论】5个数字组成哪两个三位数和两位数所得的积最大?...
2020-12-25 21:43:35三位数乘以两位数,很多同学都会做,方法都是:先用一个因数的个位与另一个因数的每一位依次相乘,再用这个因数的十位与另一个因数的每一位依次相乘,乘到哪一位,积的个位就与哪一位对齐,哪一位满十就向前一位进... -
获得多位数每一位上的数字(C程序设计,习题7.8扩展)
2019-10-01 17:49:077章8题:写一个函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字间空一个...连续输入n位的数字,输出每一位上的数,每俩数中间空1个空格. 例如:输入12345,输出1 2 3 4 5. 二.原理 1.十进制数上的每一位都是... -
34 特殊四位数
2020-03-31 10:08:42问题描述 : 数学一直是明明很喜欢的一门学科,不但上课认真听讲,...然后老师就举了一个例子:1156,1156是34的平方,且1156的千位数字1加上十位数字5等于百位数字1乘以个数数字6,即1+5=1*6。 然后老师告诉同学,这... -
打印从1到最大的n位数 - 大数问题
2020-10-30 13:19:22打印从1到最大的n位数 这个题在leetcode上被玩坏了,做成了跟1+1是一个等级的难度,我就自由分析一下吧 ...如果是大数问题,n的取值可能不会小,比如n = 100时,那么这个题就是要输出1到位数为100位的10进制 -
构造二十六进制的数字转换,然后再用进制转换解决这个问题,C语言的做法
2019-01-22 15:55:36XYZ-26进制数是一个每位都是大写字母的数字。 A、B、C、…、X、Y、Z 分别依次代表一个0 ~ 25 的数字,一个 n 位的26进制数转化成是10进制的规则如下 A0A1A2A3…An-1 的每一位代表的数字为a0a1a2a3…an-1 ,则该XYZ-... -
LuckyNumber:数位相同至多两位的数
2020-10-08 17:52:10给定一个数,要给出小于等于这个数的所有非负数中,各个数位上的数字重复不超过两次的数的个数。 比如111,110,112,121,1211都是,102,120,1200就不是。 ★题目描述 YY 的幸运数字是......,是什么数字我也... -
求解n的阶乘的十进制表示的最右非零位上的数字[转]
2012-09-03 20:48:50下面是算法说明 如果用 C 表示 [n/5] + [n/25] + [n/125] + ..., 那么需要求的是下面的同余方程 ...上面这个同余方程等价于下面的方程组 n! ≡ x * 5^c * 2^c (mod 2^(c+1)), n! ≡ x * 2^c * -
输入一个十六进制数,输出相应的十进制数
2019-02-21 22:22:59十六进制转换有16进制每一位上可以是从小到大为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F16个大小不同的数,即逢16进1,其中用A,B,C,D,E,F(字母使用大写)这六个字母来分别表示10,11,12,13,14,15... -
东华大学 oj46——特殊四位数
2021-02-06 11:34:21然后老师就举了一个例子:1156,1156是34的平方,且1156的千位数字1加上十位数字5等于百位数字1乘以个数数字6,即1+5=1*6。 然后老师告诉同学,这是最小的一个符合以上两个特性的四位整数,接着老师就留下了作业,要... -
428,剑指 Offer-打印从1到最大的n位数
2020-09-19 09:05:49输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 示例 1: 输入: n = 1 输出: [1,2,3,4,5,6,7,8,9] 说明: 用返回一个整数列表来代替打印 n 为... -
易安卓十六进制数转为十进制数_数的产生、十进制计数法(习题)数学人教版四年级上册...
2020-12-09 19:57:241. 用来表示物体个数的0,1,2,3,4,5,6,…叫做( ),自然数的基本单位是( )。版权所有2. 3个连续的自然数的和是36,这3个自然数分别是( )、( )、( )。3.一个八位数,它的最高位是( )位。最小的八位数是( ),最大的... -
算法题:十亿个乱序不重复的数字,输出没有出现过的数字
2019-11-11 20:33:17十亿个乱序不重复的数字,输出没有出现过的数字,例如 {0,1,2,3,5,6,7,8,9,10} 中4没有。 这是一个阿里算法题,当时脑子没有想到bitmap,实际中没用到的真的是想到几率小,给自己敲响警钟,这道题不难。bitmap处理... -
算法学习之数字序列中某一位的数字
2019-11-21 10:46:11在这个序列中,第5位(从0开始计数)是5,第13位是1,第19位是4,等等。请写一个函数,求任意第n位对应的数字。 书上的思路: 如输入1001 0~9十个数(从第0位开始)显然小于1001,所以从双位数中查找。 10~99,... -
首字母大写26进制数转换为对应的十进制数的一个问题,怎么利用C语言,谢谢
2019-01-16 20:44:17XYZ-26进制数是一个每位都是大写字母的数字。 A、B、C、…、X、Y、Z 分别依次代表一个0 ~ 25 的数字,一个 n 位的26进制数转化成是10进制的规则如下 A0A1A2A3…An-1 的每一位代表的数字为a0a1a2a3…an-1 ,则该XYZ-... -
蓝桥杯21位花朵数C语言解法
2020-08-21 13:52:19题目:一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数。 例如: 当N=3时,153就满足条件,因为 1^3 + 5^3 + 3^3 = 153,这样的数字也被称为水仙花数(其中,“”表示乘方... -
数字特征值 对数字求特征值是常用的编码算法,奇偶特征是一种简单的特征值。
2020-03-07 22:50:56对于一个整数,从个位开始对每一位数字编号,个位是1号,十位是2号,以此类推。这个整数在第n位上的数字记作x,如果x和n的奇偶性相同,则记下一个1,否则记下一个0。按照整数的顺序把对应位的表示奇偶性的0和1都记录... -
二进制数、位和字节
2013-12-19 15:15:43例如:2157的千位是2,百位是1,十位是5,个位是7,这意味着可以将2157看作如下形式: 2×1000+ 1×100 + 5×10 + 7×1 也就是如下形式: 2×103+1×102+ 5×101+7×100 姑且认为,十进制得以发展的原因是... -
三位数字电容表说明书
2010-04-13 08:57:06当这个接脚的电压从1/3 VCC电压以下移至2/3 VCC以上时启动这个动作。 Pin 7 (放电) -这个接脚和主要的输出接脚有相同的电流输出能力,当输出为ON时为LOW,对地为低阻抗,当输出为OFF时为HIGH,对地为高阻抗。 ...
-
SpringBoot原理分析一
-
Galera 高可用 MySQL 集群(PXC v5.6 + Ngin
-
内容化设计项目总结:如何从0到1做出淘宝头条架构
-
php 判断字符串中是否包含另一个字符串
-
Mysql数据库面试直通车
-
2021 年该学的 CSS 框架 Tailwind CSS 实战视频
-
pdf是图片还是文档
-
php值转换之strval()、intval()、floatval()、bool
-
反导系统优化部署方案建模与算法求解
-
使用树突状细胞算法检测P2P机器人
-
这样提案,设计比较容易落地
-
响应式编程入门与实战(Reactor、WebFlux、R2DBC)
-
php接口开发简单实例
-
【必备算法】二分查找:LeetCode题(二)33. 搜索旋转排序数组,240. 搜索二维矩阵 II
-
使用 Linux 平台充当 Router 路由器
-
各操作系统下php.ini文件的位置在哪里
-
VB获取窗体的位置和大小
-
QTP自动化测试原理
-
深究字符编码的奥秘,与乱码说再见
-
Dynamic steering beams for efficient force measurement in optical manipulation