精华内容
下载资源
问答
  • 一个不多于5位数的正整数;(1)求出它是几数;(2)分别输出每一数字;(3)按逆顺序输出各位数,例如原有数为123,应输出321以下是此题的【c源代码】,需要C++源代码的请点击进入#include #include int main(){...

    给出一个不多于5位数的正整数;

    (1)求出它是几位数;

    (2)分别输出每一位数字;

    (3)按逆顺序输出各位数,例如原有数为123,应输出321

    以下是此题的【c源代码】,需要C++源代码的请点击进入

    #include

    #include

    int main()

    {

    int num,indiv,ten,hundred,thousand,ten_thousand,place;      //分别代表个位,十位,百位,千位,万位和位数

    printf("请输入一个整数(0-99999):");

    scanf("%d",&num);

    if (num>9999)

    place=5;

    else  if (num>999)

    place=4;

    else  if (num>99)

    place=3;

    else  if (num>9)

    place=2;

    else place=1;

    printf("位数:%d\n",place);

    printf("每位数字为:");

    ten_thousand=num/10000;

    thousand=(int)(num-ten_thousand*10000)/1000;

    hundred=(int)(num-ten_thousand*10000-thousand*1000)/100;

    ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;

    indiv=(int)(num-ten_thousand*10000-thousand*1000-hundred*100-ten*10);

    switch(place)

    {case 5:printf("%d,%d,%d,%d,%d",ten_thousand,thousand,hundred,ten,indiv);

    printf("\n反序数字为:");

    printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,ten_thousand);

    break;

    case 4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);

    printf("\n反序数字为:");

    printf("%d%d%d%d\n",indiv,ten,hundred,thousand);

    break;

    case 3:printf("%d,%d,%d",hundred,ten,indiv);

    printf("\n反序数字为:");

    printf("%d%d%d\n",indiv,ten,hundred);

    break;

    case 2:printf("%d,%d",ten,indiv);

    printf("\n反序数字为:");

    printf("%d%d\n",indiv,ten);

    break;

    case 1:printf("%d",indiv);

    printf("\n反序数字为:");

    printf("%d\n",indiv);

    break;

    }

    return 0;

    }

    展开全文
  • 给一个不多于5位的正整数要求 1、求出它是几位数 2、分别输出每一位数 3、按逆序输出各位数字,例如原数321,应输出123 代码如下:开头的宏定义是忽略scanf带来的编译不通过的问题,不加开头的宏定义也可以,将...

    给一个不多于5位的正整数,要求

    1、求出它是几位数
    2、分别输出每一位数
    3、按逆序输出各位数字,例如原数321,应输出123

    代码如下:开头的宏定义是忽略scanf带来的编译不通过的问题,不加开头的宏定义也可以,将scanf换成scanf_s即可

    #define _CRT_SECURE_NO_WARNINGS 0
    #include<stdio.h>
    #include<math.h>
    
    int number_bit(int a)//得到它是几位数的函数
    {
    	int i = 0;
    	int j = 0;
    	for (i = 1; i <= 5; i++)//直接循环,调用pow函数,得到10的几次方
    	{
    		j = pow(10, i);
    		if ((a / j) == 0)//当除10为0时,就知道它是几位数,比如23,当除100的时候为0,刚好10的平方为100
    		{
    			break;
    		}
    	}
    	return i;
    }
    void every_number(int a)//得到每一位数字的函数,也是调用pow函数
    {
    	for (int i = 5; i >= 0; i--)
    	{
    		int j = pow(10, i);
    		if (a / j == 0)//因为题目给的是不大于5位数的一个数,所以直接从10的5次方开始循环
    		{
    			continue;//如果这个数除的等于0,表示还除不尽,继续循环,比如23/100就等于0,还得不到最高位
    		}
    		int m = a / j;//定义m,得到最高位
    		int n = a % j;//定义n,得到余数的值,比如123/100=1余23,23又可以继续往下除,继续得到其它位数
    		a = n;//把所得到的余数赋值给a,然后循环继续得到其它位数
    		printf("%3d", m);
    	}
    }
    
    void reverse(int a)//这个是得到某数值的逆序数
    {
    	int k=number_bit(a);//这个得到该数是几位数,好循环几次
    	for (int i = 0; i <k; i++)
    	{
    		int m = a / 10;//得到最低位
    		int n = a % 10;//得到高位值
    		a = m;//高位值赋值给a,继续循环
    		printf("%3d", n);
    	}
    }
    
    int main()
    {	int a = 0;
    	printf("请输入一个不多于5位的整数:");
    	scanf("%d", &a);//这里得到要输入的数
    	if (a > 99999 || a < 0)//判断取值是否合法
    	{
    		printf("请重新输入正确的正整数\n");
    		return 0;
    	}
    	else
    	{
    		printf("它是%d位数\n", number_bit(a));//调用函数,得到它是几位数
    	}
    	printf("这个数的每一位数字是:");
    	every_number(a);//调用函数,得到这个数的每一位
    	printf("\n");
    	printf("逆序输出的数字是:");
    	reverse(a);//调用函数,得到这个数的逆序数
    	return 0;
    }
    代码片
    
    展开全文
  • 今天看到一道比较有意思题目,大家分享一下.题目:从全体正整数中随机选出两个正整数,则...我们一个更加严谨叙述方法。让我们用 PN 来表示,从 1 到 N 中随机取出两个正整数,它们互质概率是多少。我们...

    今天看到一道比较有意思的题目,给大家分享一下.

    题目:从全体正整数中随机选出两个正整数,则下面哪种情况的可能性更大一些?

    A.这两个正整数互质(没有大于 1 的公约数)
    B.这两个正整数不互质(有大于 1 的公约数)
    C.上述两种情况的出现概率相同

    答案:

    这个问题的说法很不严谨。我们给出一个更加严谨的叙述方法。让我们用 PN 来表示,从 1 到 N 中随机取出两个正整数,它们互质的概率是多少。我们的问题就是,当 N 趋于无穷时, PN 的值究竟是大于 1/2 ,等于 1/2 ,还是小于 1/2 。

    这是一个非常非常经典的问题。下面是最常见的一种解法。假设我们从全体正整数中随机选出了两个正整数 a 、 b 。其中, a 能被 2 整除的概率是 1/2 , b 能被 2 整除的概率是 1/2 。因而,它们都能被 2 整除的概率就是 1 / 22 。反过来,它们不都能被 2 整除的概率就是 1 – 1 / 22 。类似地,它们不都能被 3 整除的概率就是 1 – 1 / 32 ,它们不都能被 5 整除的概率就是 1 – 1 / 52 ……于是,它们互质的概率就是:

    (1 – 1 / 22) · (1 – 1 / 32) · (1 – 1 / 52) · (1 – 1 / 72) …

    注意,这里用到了一个假设:如果 p 和 q 是两个质数,那么能否被 p 整除和能否被 q 整除,这是互相独立的。事实上也确实如此:一个数能被 p 整除的概率是 1 / p ,一个数能被 q 整除的概率是 1 / q ;一个数能同时被两个质数 p 和 q 整除,当且仅当它能被 p · q 整除,其概率是 1 / (p · q)。

    为了求出上面这个式子的值,我们考虑它的倒数。1 – 1 / 22 的倒数是 1 / (1 – 1 / 22) ,而由无穷等比级数的求和公式,它又可以被我们写成 1 + 1 / 22 + 1 / 24 + 1 / 26 + … 。类似地,其他几项也都变成了 1 + 1 / 32 + 1 / 34 + 1 / 36 + … ,1 + 1 / 52 + 1 / 54 + 1 / 56 + … ,等等。现在,想象一下,如果把所有的括号全都展开,把所有的项全都乘开来,会得到什么?我们会既无遗漏又无重复地得到所有的 1 / n2

      (1 + 1 / 22 + 1 / 24 + 1 / 26 + … ) · (1 + 1 / 32 + 1 / 34 + 1 / 36 + … )
      · (1 + 1 / 52 + 1 / 54 + 1 / 56 + … ) · …
    = 1 + 1 / 22 + 1 / 32 + 1 / 42 + 1 / 52 + …

    比方说, 40 = 2 × 2 × 2 × 5 ,那么等式右边的 1 / 402 这一项,就是由等式左边的第一个括号里的 1 / 26 ,乘以第二个括号里的 1 ,乘以第三个括号里的 1 / 52 ,乘以其余所有括号里的 1 得到的。

    1 + 1 / 22 + 1 / 32 + 1 / 42 + 1 / 52 + … 究竟等于多少呢?我们来证明,它小于 2 。这是因为:

      1 + 1 / 22 + 1 / 32 + 1 / 42 + 1 / 52 + …
    < 1 + 1 / (1 × 2) + 1 / (2 × 3) + 1 / (3 × 4) + 1 / (4 × 5) + …
    = 1 + 1 – 1/2 + 1/2 – 1/3 + 1/3 – 1/4 + 1/4 – 1/5 + …
    = 2

    别忘了, 1 + 1 / 22 + 1 / 32 + 1 / 42 + 1 / 52 + … 是我们把所求的概率值取了倒数后的结果。因此,我们所求的概率值就应该大于 1/2 了。也就是说,这道题目的正确答案是 A 。

    可以证明, 1 + 1 / 22 + 1 / 32 + 1 / 42 + 1 / 52 + … 实际上等于 π2 / 6 。因此,任意两个正整数互质的概率就是 6 / π2 ≈ 0.608 。神奇的数学常数 π 经常会出现在一些与圆形八竿子打不着的地方,比如我们之前提过的 Buffon 投针问题。而大家刚才看到互质概率问题,才是我觉得最为经典的例子之一。

    *本文摘自matrix67.

    -----------------------------------------------------------

    欢迎关注爱数学之家

    4d27acd368d20b19d5e7a2ab2596fd93.png

    展开全文
  • 8给一个不多于5位的正整数要求: 一、求它是几位数 二、逆序打印出各位数字 */ public class workday908{ public static void main(String[] args){ java.util.Scanner s = new java.util.Scanner(System.in)...
    /*
    8给一个不多于5位的正整数,
    要求:
    一、求它是几位数
    二、逆序打印出各位数字
    */
    
    public class workday908{
    	public static void main(String[] args){
    		java.util.Scanner s = new java.util.Scanner(System.in);
    		System.out.println("该系统可以判断一个不多于五位的正整数是几位数并逆序输出数字");
    		System.out.print("请输入一个不多于五位数的正整数:");
    		int num = s.nextInt();
    		int a = num/10000;
    		int b = (num-a*10000)/1000;
    		int c = (num-a*10000-b*1000)/100;
    		int d = (num-a*10000-b*1000-c*100)/10;
    		int e = (num-a*10000-b*1000-c*100-d*10)/1;
    		if(a!=0){
    			System.out.println("该正整数是五位数");
    			System.out.println("该正整数的逆序为"+e+d+c+b+a);
    		}else if(a == 0&&b != 0){
    			System.out.println("该正整数是四位数");
    			System.out.println("该正整数的逆序为"+e+d+c+b);
    		}else if(b== 0&&c!=0){
    			System.out.println("该正整数是三位数");
    			System.out.println("该正整数的逆序为"+e+d+c);
    		}else if(c == 0&&d != 0){
    			System.out.println("该正整数是二位数");
    			System.out.println("该正整数的逆序为"+e+d);
    		}else{
    			System.out.println("该正整数是一位数");
    			System.out.println("该正整数的逆序为"+e);
    		}
    		
    	}
    }

     

    展开全文
  • 题目:给一个不多于5位的正整数要求它是几位数,逆序打印各位数字 import java.util.Scanner; public class java29nixushu {//给一个不多于5位的正整数要求它是几位数,逆序打印各位数字 public static void...
  • 1.原文地址...>相当于使当前二进制对应10进制数除以2.<例如,a=2,b=9;a二进制数是:0010,如果a左移1,即a>>1,得到0001,即十进制数1。b二进制数是:1001,如果b右移1,即b<&...
  • 7. 将一个正整数进行分解质因数操作 例如: 输入90 结果 2*3*3*58. 使用循环完成30以内斐波那契数列 1 1 2 3 5 8 13 21... 9. 利用循环完成15阶乘10. 判断一个数是否是水仙花数,如果是,输出YES,如果不是,...
  • 专业数学家做研究工作固然难度很高,不是一般人能够做到,但这等于我们能做一点数学研究——前提是,不要期望它你“带来朝成名天下知”现实好处。不仅是数学,在任何学科中,只要愿意思考,就能做研究...
  • 一个不多于5位的正整数 要求:(1)求出它是几位数; (2)分别输出每一位数字 (3)按照逆序*/ #include <stdio.h> #include <string.h> int main(){ char str[50]; scanf("%s",str); int i=0,count=0;...
  • 给一个不多于5位的正整数,要求: ①求出它是几位数; ②分别输出每一位数字; ③按逆序输出各位数字,例如原数为321,应输出123。 首先贴出自己写的代码 #include<stdio.h> #include<math.h> void fun(int a...
  • 例题:给一个不多于5位的正整数要求第一问:求出它是几位数 第二问:分别输出每一位数字 第三问:按逆序输出个位数字,例如原数字为321,应输出123. 第三问中若n为负数,有if语句,输出结果为首位带符号,如图 .....
  • 方法一:作比较[root@python markPy]# cat five.py#!/usr/bin/python3a=int(input(">...100: #第一个条件已经过滤了大于9,所以这里区间是11到100print(2)elif a<1000:print(3)elif a<10000...
  • 输入格式:输入在第出两个不超过 1000 的正整数 A 和 B,其间以空格分隔。输出格式:在行中倒着输出 A 和 B 的乘积。输入样例:5 7输出样例:53代码:这道虽然是15分,但是也还是有坑的。#include<...
  • ①核心思想:进入一个从0开始循环,让这个正整数依次对10取余,所得余数再对10取余,直到余数为0,循环结束,循环次数就是该正整数的位数 ②代码如下: int GetFigures(int n) { int count = 0; do { ...
  • 今天为大家分享一个Java的经典实例给一个不多于5位的正整数要求:求出它是几位数,逆序打印出各位数字。接下来吾爱编程就为大家介绍一下程序的写法,有需要的小伙伴可以参考一下:1、程序需求:给一个不多于5位的...
  • 应该有一个,最好只有一个,明显能做到这一点 Although that way may not be obvious at first unless you’re Dutch.虽然这种 方式可能容易,除非你是python之父 Now is better than never. 现在做总比做好 ...
  • 53.给一个不多于5位的正整数要求:一、求它是几位数,二、逆序打印出各位数字。 //53.给一个不多于5位的正整数,要求:求它是几位数,逆序打印出各位数字 #include<stdio.h> main() { int i,j,a[5],b,c,d=0; ...
  • 给一个不多于5位的正整数要求: (1)求出它是几位数; (2)分别输出每一位数字; (3)按逆序输出各位数字,例如原数为123,应输出321; 2. 代码 #include &amp;amp;lt;stdio.h&amp;amp;gt; #...
  • 8、给一个不多于5位的正整数要求: 一、求它是几位数 二、逆序打印出各位数字 */ public class Test08{ public static void main(String[] args){ java.util.Scanner s =new java.util.Scanner(System.in...
  • 问题:给一个不多于5位的正整数 要求:一、求它是几位数,二、逆序打印出各位数字。 import java.util.Scanner; public class Test01 { public static void main(String[] args) { Scanner sc = new Scanner...
  • 题目:给一个不多于5位的正整数要求: 1.求出它是几位数; 2.分别输出每一位数字; 3.按逆序输出个位数字,例如原数为321,应输出123. #include <stdio.h> #include <stdlib.h> #define M 99999 #...
  • 给一个不多于5位的正整数要求: 1.求它是几位数 2。逆序打印出个位数字 */ public class Work08 { public static void main(String[] args) { //输入 Scanner s=new Scanner (System.in); String number=s....
  • 给一个不多于5位数的正整数要求:一,求它是几数,逆序打印出各位数字。 n = int(input("请输入:")) l = [] while n != 0: i = n % 10 # 求余数 n = n // 10 # 求取整之后剩下的数字 l.append(i) # 把相应的...
  • 题目:给一个不多于5位的正整数要求:一、求它是几位数,二、逆序打印出各位数字。 这道题的解题方法不止一个,欢迎各位留言交流! 代码: import java.util.Scanner; public class 倒序 { public static void ...
  • /*给一个不多于5位的正整数要求:一、求它是几位数,二、逆序打印出各位数字*/ #include<iostream> using namespace std; int main() { int num,number; int count=0; cout<<"请输入一个数字"<...

空空如也

空空如也

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

给一个不多于5位的正整数要求