精华内容
下载资源
问答
  • 游戏主要这样的,计算正整数 n 每位上的数之积,例如 24,它的每位上的 数字之积为 2 * 4 = 8,现在要求你为 A 公司编写一计算函数(或方法)fun,将结果放到 c 中,并显示输出。作为参考答案。 import ...

    实现算数游戏功能关键算法并绘制流程图(30 分)
    游戏主要是这样的,计算正整数 n 每个数位上的数之积,例如 24,它的每个数位上的
    数字之积为 2 * 4 = 8,现在要求你为 A 公司编写一个计算函数(或方法)fun,将结果放到 c
    中,并显示输出。作为参考答案。

    import java.util.Scanner;
    
    public class week03 {
    
    	public static void main(String[] args) {
    		Scanner in = new Scanner(System.in);
    		System.out.println("输入数字:");
    		int number =fun(in.nextInt());
    		System.out.println(number);
    	}
    	/**
    	 * 获取数字的乘积
    	 * @param number
    	 * @return  数字的乘积
    	 */
    	public static int fun(int number){
    		//判断数字的位数
    		int lengthNum = LengthNum(number);
    		int  n = 1;//获取的位数
    		int  m = 10;//取余
    		int num = 1;//存储数字各个位数的乘积
    		for(int i=0;i<lengthNum;i++){
    			//依次获取数字的位数
    			int g = number /n % m;
    			n *= 10;
    			num *= g;
    		}
    		return num;
    	}
    	/**
    	 * 判断输入的数字是几位数
    	 * @param num 输入数字
    	 * @return 数字的位数
    	 */
    	public static int LengthNum(int num){
    		int count=0; //计数
    		while(num>=1) {
    		num/=10;
    		count++;
    		}
    		return count;
    	}
    }
    
    
    展开全文
  • # 1、求出它是几位数 # 2、分别输出每一数字 # 3、按逆序输出各个数字,例如原321,应该输出123 #初始化:a为存储各个数位数字数组 a = [] #n为输入数字:判断n是否符合题目要求,不符合则重新输入 n = int...

    问题分析

    本题可以考虑用循环语句、数组的相关函数来进行求解。这里我写的比较基础,读者有更优化的方案,欢迎交流。

    代码实现

    # 多于5位的正整数
    # 1、求出它是几位数
    # 2、分别输出每一位数字
    # 3、按逆序输出各个数字,例如原数321,应该输出123
    
    #初始化:a为存储各个数位数字的数组
    a = []
    #n为输入的数字:判断n是否符合题目要求,不符合则重新输入
    n = int(input("请输入要操作的数字:\n"))
    while True:
        if n/10000 < 1:
            n = int(input("您输入的数字不是多于5位的正整数,请重新输入:\n"))
        else:
            break
    #对符合题目的数字进行操作:将n除数取余,直到余数为0为止
    if n > 0:
        while n > 0:
            b = n-10*int(n/10)
            a.append(b) #每个余数添加到数组a中
            n = int(n/10)
    #将数组元素转化为字符串,并以‘’作为间隔,定义n1为此结果
    n1 = ''.join(str(i) for i in a)
    #将数组元素倒序操作,并以‘、‘作为间隔,定义n2为此结果
    a.reverse()
    n2 = '、'.join(str(i) for i in a)
    #输出所有结果
    print("1、它是", len(a), "位数", sep='')
    print("2、每一位数分别是", n2, sep='')
    print("3、对应逆序数字是", n1, sep='')
    

    运行结果如下:
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 给一不多于三位的正整数,求出它是几位数,并分别打印出各位上的数字。当输入正整数不符合规则,输出“error”字样。 Input 输入文件只有一行,内容为一不多于三位数的正整数N,如123。 Output 输出文件两...

    Time Limit: 3 second
    Memory Limit: 2 MB

    给一个不多于三位的正整数,求出它是几位数,并分别打印出各位上的数字。当输入正整数不符合规则,输出“error”字样。

    Input

    输入文件只有一行,内容为一个不多于三位数的正整数N,如123。

    Output

    输出文件有两行第一行为正整数N的位数,3 第二行输出各位上的数字:1 2 3

    Sample Input

    326

    Sample Output

    3
    3 2 6
    

    【题解】

    如果用字符串输入的话,很容易获取位数,但是题目最后数据里面有负数。。这个时候要判断一下字符串的首位是不是负号。也是可以解决问题的。

    【代码】

    #include <cstdio>
    #include <iostream>
    #include <string>
    #include <stdlib.h>
    
    using namespace std;
    
    string s2;
    
    int si;
    
    void s_p()
    {
        printf("error");
        exit(0);
    }
    
    void input_data()
    {
        cin >> s2;
        si = s2.size();
        if (si>3) s_p();
        if (s2[0] == '-') s_p(); //判断该数为负数或为0
        if (s2 == "0") s_p();
    }
    
    void output_ans()
    {
        cout << si << endl; //输出字符串的长度即可。
        for (int i = 1;i <= si-1;i++)
            cout << s2[i-1] << ' ';
        cout << s2[si-1];
    }
    
    int main()
    {
        input_data();
        output_ans();
        return 0;
    }
    


     

    转载于:https://www.cnblogs.com/AWCXV/p/7632478.html

    展开全文
  • 如果一个两位数的个位数字a,十位数字b,那么如何表示出这两个呢?是不是直接写ab呢?要知道如何表示这个两位...个位上的计数单位为“个(一)”,比如个位上的数字为a,那么表示a个一,即a;十位上计数单...

    如果一个两位数的个位数字是a,十位数字是b,那么如何表示出这两个数呢?是不是直接写ab呢?要知道如何表示这个两位数,我们需要理解数位上的数字和数位之间的关系,从而能够正确地表示出一个数。本篇文章,我们主要介绍以下几个方面的内容,(1)数的表示;(2)倍数关系;(3)阅读理解型;(4)“魔术”题(数字游戏)。

    3b9b76cef00fbf1871fa41b3d029ca6d.png

    个位上的计数单位为“个(一)”,比如个位上的数字为a,那么表示有a个一,即a;十位上的计数单位为“十”,比如十位上的数字为b,那么表示有b个十,即10b;百位上的计算单位为“百”,比如百位上的数字为c,那么表示有c个百,即100c,那么这个三位数为:100c+10b+a。

    1.用代数式表示数

    例题1:一个两位数的个位数字是a,十位数字比个位数字的2倍少1,用含a的代数式表示这个两位数。

    分析:个数数字为a,十位数字比个位数字的2倍少1,那么十位上的数字为2a-1,表示用10个2a-1,即为10(2a-1),即可表示出该两位数。这个两位数可以表示为:10(2a-1)+a=20a-10+a=21a-10,表示好后记得化简。

    13b166cf50bdfaceca888101dc044a0a.png

    2.交换数位上的数字,探索倍数关系、大小关系

    例题2:一个两位数,个位数字是a,十位数字是b,交换个位数字和十位数字的位置得到一个新的两位数,这两个两位数的差是否能被9整除?

    分析:分别表示出原两位数和新两位数,做差进行探索倍数关系。

    (10b+a)-(10a+b)=10b+a-10a-b=9b-9a=9(b-a),

    ∴这两个两位数的差能被9整除.

    本题还涉及一个小知识点,整除问题。如果要证明能被某个数整除,那么我们需要将其表示为这个数倍数的形式。比如能被3整除,那么表示为3a的形式;能被9整除,那么表示为9a的形式;能被11整除,那么表示为11a的形式等等(注:a可以是单独的字母,也可以是代数式)。

    变式1:这两个两位数的和是否能被11整除?

    分析:考查方式与例题2一样,还是分别表示出两个数,然后求和,再探索倍数关系。(10b+a)+(10a+b)=10b+a+10a+b=11b+11a=11(b+a),

    ∴这两个两位数的和能被11整除.

    变式2:若新的两位数大于原来的两位数,求a与b的大小关系。

    分析:10a+b>10b+a,∴10a-a>10b-b,∴9a>9b,∴a>b.

    0d7eafbccd9f067443d688a472fe526a.png

    3.阅读理解型问题

    例题3:定义:对任意一个两位数a,如果a满足个位数字与十位数字互不相同,且都不为零,那么称这个两位数为“迥异数”.将一个“迥异数”的个位数字与十位数字对调后得到一个新的两位数,把这个新两位数与原两位数的和与11的商记为f(a).例如:a=12,对调个位数字与十位数字得到新两位数21,新两位数与原两位数的和为21+12=33,和与11的商为33÷11=3,所以f(12)=3.如果一个“迥异数”b的十位数字是k,个位数字是2(k+1),且f(b)=11,请求出“迥异数”b.

    分析:阅读理解型问题的解题关键是读懂题意,本题涉及两个概念:(1)迥异数,这个应该比较容易,满足两个条件即可,供我们在解题时得到答案后验证使用;(2)f(a),指的是把这个新两位数与原两位数的和与11的商。

    理解这两个概念后,我们需要先表示出新两位数与原两位数的和。

    即:12k+2+21k+20=33k+22,那么f(b)=(33k+22)÷11=3k+2

    又因为f(b)=11,那么3k+2=11,可得到k的值为3,所以b=10×3+2×(3+1)=38。

    4b50b671b755ea2db4c6e4411e68c514.png

    4.“魔术”题、数字游戏题

    例题4:小刚对小强说:你任意写一个两位数,满足十位数字比个位数字大2;然后交换十位数字与个位数字,得到一个新的两位数;最后用其中较大的两位数减去较小的两位数.我就能知道这个差是多少.你知道这是为什么吗?这个差是多少呢?

    解:设原来的十位数,十位数字为x,则个位数字为:(x-2),

    故两位数是:10x+x-2=11x-2,

    交换十位数字与个位数字,得到的十位数是:10(x-2)+x=11x-20,

    故11x-2-(11x-20)=18,

    即较大的两位数减去较小的两位数的差为18.

    展开全文
  • 题目:给一个不多于5 位正整数,要求∶ ...2.每次丢弃个位,利用n/=10循环使用 int main() { int n; int temp = 0;//计数器 scanf_s("%d", &n); if (n == 0) { printf("1"); } while(n!=0) { n /= 10;
  • 2g内存,磁盘上有100亿零132bit uint,找中位数,要求读磁盘次数最少 很容易想到桶排序,问题宽度。 由于统计个数,某个桶内可能超过100亿,所以int不行,必须long long 2g内存能放多少long long呢? 2g...
  • 第二行包含n正整数,第 I 数字代表无序数组的第 I 位上的数字,数字大小不会超过2的31次方。接下来 m 行,每行一正整数 k,含义详见题目描述,k 的大小不会超过1000。 Output 第一行输"Case #i:"。...
  • 本来想总结一下对一int型数的操作有关算法,但是发现这么一类算法和数各个数位有关,比如求水仙花。其实这类算法最主要就是把一个数的各个分离。所以就贴简单易用最重要的几句算法吧。 非递归...
  • 在32,int通常32;在16,int通常16(由编译器决定,而编译器通常根据代码运行目标机来决定...但有几条铁定原则(ANSI/ISO制订): 1 sizeof(short int)<=sizeof(int) 2 sizeof(int)...
  • 2数的组成一个两位,十位上是几就有几个十,个位上是几就有几个一。3、百表4、计算(1)十几减几计算方法点数法、破十法、平十法、想加算减法(2)整十数加一位及相应减法几十加几等于几十几,几加几十等于...
  • 题目: 输入一个三数,如123,输出结果为其逆序数,321。但是不允许出现这种情况,即输入值为120,输出值为021,正确输出...如果将此三数整除10,则得到此数有几个10,在这里为12;而后进行如此运算:12%10=2,则
  • 我现在正在写一程序,它设计取一四位数整数,取每个数的绝对差,然后求和。也就是说,输入一四位数管脚,程序获取(数字1-数字2),(2-3)和(3-4)绝对值,然后对它们求和并打印总和。我应该写一for...
  • 求一个数是另一个数的几倍就是想这个里面有几个另一个,用除法计算,即一个÷另一个=倍数。3求一个数的几倍多少解题方法。求一个数的几倍多少,用这个乘几。本单元知识点易错汇总:1求一个数是另一...
  • 语//英(上册)电子课本请点击图▲微课探路课本再现巩固练习1、列竖式计算下面各题67÷3= 89÷6= 58÷4= 99÷7=2、一个数除以7,商12,余数最大只能是几?当余数最大时,这个数是多少?3、果园采摘了74千克...
  • 最近囫囵吞枣,吃了几个dp类型的知识点。就算临阵磨枪吧,毕竟神仙...:这类题 一般都要求 l-r中 满足某一个条件的数有多少,一般这个条件都可以拆为: 以j为开头的i的数 ,满足条件的有多少:dp[i][j][k]。 第
  • 凡报到3人退出圈子,问最后留下的是原来第。 分析: 将每人编坐标,并且给每人定下最开始下标,等只剩下最后一时候,用他坐标去找相应人编号 下标 0 1 2 3 4 5 6 7 8 9 编号 1 ...
  • 同步练习1、列竖式计算下面各题67÷3= 89÷6= 58÷4= 99÷7=2、一个数除以7,商12,余数最大只能是几?当余数最大时,这个数是多少?3、果园采摘了74千克苹果,如果每5千克装一箱,一共可以装满多少箱?参考答案...
  • 第二行包含n正整数,第 I 数字代表无序数组的第 I 位上的数字,数字大小不会超过2的31次方。接下来 m 行,每行一正整数 k,含义详见题目描述,k 的大小不会超过1000。 Output 第一行输"Case #i:"。...
  • 数位dp (2

    2019-05-30 09:05:00
    这个条件:可以选数的一个位为轴,左右到轴的长度乘那个数字本身相等的数有多少? 我的思路:首先我们要研究这个题目的数字要求,就是找到一个点然后去枚举每一个点轴,然后我们就再dfs里面搜索 因为我们要求...
  • 第二行包含n正整数,第 I 数字代表无序数组的第 I 位上的数字,数字大小不会超过2的31次方。接下来 m 行,每行一正整数 k,含义详见题目描述,k 的大小不会超过1000。 Output 第一行输"Case #i:"。...
  • 第二行包含n正整数,第 I 数字代表无序数组的第 I 位上的数字,数字大小不会超过2的31次方。接下来 m 行,每行一正整数 k,含义详见题目描述,k 的大小不会超过1000。 Output 第一行输"Case #i:"。...
  • 一开始我感觉这道题应该蛮简单,不就是到第三人那不报嘛,然后问最后一留下人原来排在第号。经过博主仔细阅读之后,发现,事情并非如此简单。因为,他说了,每到第三人那就退出,也就是说,在原来元素...
  • 数位dp

    2020-08-17 11:44:25
    数位还算是比较好听名字,数位含义:一个数有个位、十位、百位、千位…数每一位就是数位啦! 之所以要引入数位概念完全就是为了dp。数位dp实质就是换一种暴力枚举方式,使得新枚举方式满足dp性质,...
  • 下面列举几个,这些问题网上都能找到解答,自己实现了一下,供网友参考。  问题1:整数二进制表示中1个数。  思路:可以以下几种解法。(1)使用除法操作。(2)使用操作。(3)操作改进。(4)...
  • 第一单元 小数乘法1、小数乘整数意义与整数乘法意义相同,就是求几个相同加 ...3、小数乘法计算方法:计算小数乘法,先按整数乘法算出积,再 看因数中一共有几位小数,就从积右边起数出几,点...
  • #include #include using namespace std; /* 问题:编写一方法,出0到n(含)中... 暴力破解:就是遍历0到n,对每数字i,获取其每一位上的值,统计是否含有2,假设平均每数字k位,时间复杂度就是O(n*k)。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,716
精华内容 686
关键字:

个位上是2的数有几个