精华内容
下载资源
问答
  • 这个题目的要求是,输入一个数,然后将这个数的各个位上的数字输出出来,这个数可以是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;
    	}	
    }

    二、输出如下:

    展开全文
  • 对于一个整数,从个位开始对每一位数字编号,个位是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内存限制:32000kb

    import 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,里程表所有位(个位十位、百位等)的数字都如此。/ /思路:方法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码值,然后将这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.
    在这里插入图片描述

    展开全文
  • 一个数字模(%)10取得是这个数字的个位,那么取十位我们可以先用这个数字除以10,再去模10,这样就得到原数字的十位,百位同理。那么这道题就可以做了。 具体代码实现如下: public class NarcissisticNumber { ...
  • 第二个循环周期digit=10,表示找十位数;第三个循环周期digit=1,表示找个位数。 没词都找剩余元素中的最大值。这通过里层的for循环实现的。程序用max表示一次找到的数字,本次要找的小于max的最大数字。 这个...
  • //有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个随机数,关键问题是如何获取每个数的个位数。  ...
  • 三位乘以两位,很多同学都会做,方法都:先用一个因数的个位与另一个因数的每一位依次相乘,再用这个因数的十位与另一个因数的每一位依次相乘,乘到哪一位,积的个位就与哪一位对齐,哪一位满十就向前一位进...
  • 7章8题:写一函数,输入一4位数字,要求输出4数字字符,但每两数字间空一...连续输入n位的数字,输出每一位上,每俩中间空1个空格. 例如:输入12345,输出1 2 3 4 5. 二.原理 1.进制上的每一位都...
  • 34 特殊四位数

    2020-03-31 10:08:42
    问题描述 : 数学一直明明很喜欢的一门学科,不但上课认真听讲,...然后老师就举了一个例子:1156,115634的平方,且1156的千位数字1加上十位数字5等于百位数字1乘以个数数字6,即1+5=1*6。 然后老师告诉同学,...
  • 打印从1到最大的n位数 这个题在leetcode被玩坏了,做成了跟1+1是一个等级的难度,我就自由分析一下吧 ...如果大数问题,n的取值可能不会小,比如n = 100时,那么这个题就是要输出1到位为100的10进制
  • XYZ-26进制数是都是大写字母的数字。 A、B、C、…、X、Y、Z 分别依次代表一0 ~ 25 的数字,一 n 的26进制数转化成是10进制的规则如下 A0A1A2A3…An-1 的每一代表的数字为a0a1a2a3…an-1 ,则该XYZ-...
  • 给定一个数,要给出小于等于这个数的所有非负数中,各个数位上的数字重复不超过两次的数的个数。 比如111,110,112,121,1211都,102,120,1200就不是。 ★题目描述 YY 的幸运数字......,什么数字我也...
  • 下面算法说明 如果用 C 表示 [n/5] + [n/25] + [n/125] + ..., 那么需要求的下面的同余方程 ...上面这个同余方程等价于下面的方程组  n! ≡ x * 5^c * 2^c (mod 2^(c+1)), n! ≡ x * 2^c *
  • 十六进制转换有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...
  • 然后老师就举了一个例子:1156,115634的平方,且1156的千位数字1加上十位数字5等于百位数字1乘以个数数字6,即1+5=1*6。 然后老师告诉同学,这是最小的一个符合以上两个特性的四位整数,接着老师就留下了作业,要...
  • 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 示例 1: 输入: n = 1 输出: [1,2,3,4,5,6,7,8,9] 说明: 用返回一整数列表来代替打印 n 为...
  • 1. 用来表示物体个数的0,1,2,3,4,5,6,…叫做( ),自然数的基本单位是( )。版权所有2. 3个连续的自然数的和是36,3个自然数分别是( )、( )、( )。3.一个八位数,它的最高是( )。最小的八位数是( ),最大的...
  • 亿乱序不重复的数字,输出没有出现过的数字,例如 {0,1,2,3,5,6,7,8,9,10} 中4没有。 这是阿里算法题,当时脑子没有想到bitmap,实际中没用到的真的想到几率小,给自己敲响警钟,道题不难。bitmap处理...
  • 这个序列中,第5(从0开始计数)是5,第13位是1,第19是4,等等。请写一个函数,求任意第n对应的数字。 书的思路: 如输入1001 0~9十个数(从第0开始)显然小于1001,所以从双位数中查找。 10~99,...
  • XYZ-26进制数是都是大写字母的数字。 A、B、C、…、X、Y、Z 分别依次代表一0 ~ 25 的数字,一 n 的26进制数转化成是10进制的规则如下 A0A1A2A3…An-1 的每一代表的数字为a0a1a2a3…an-1 ,则该XYZ-...
  • 题目:一个N位的进制正整数,如果它的每个位上的数字的N次方的和等于这个数本身,则称其为花朵数。 例如: 当N=3时,153就满足条件,因为 1^3 + 5^3 + 3^3 = 153,这样的数字也被称为水仙花数(其中,“”表示乘方...
  • 对于一个整数,从个位开始对每一位数字编号,个位是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 姑且认为,十进制得以发展的原因是...
  • 这个接脚的电压从1/3 VCC电压以下移至2/3 VCC以上时启动这个动作。 Pin 7 (放电) -这个接脚和主要的输出接脚有相同的电流输出能力,当输出为ON时为LOW,对地为低阻抗,当输出为OFF时为HIGH,对地为高阻抗。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 520
精华内容 208
关键字:

个位上是5十位上是1这个数是