-
Python实现给一个不多于5位的正整数,求它是几位数,逆序打印这个数字
2019-04-11 18:23:05一、简单版(只实现这两个需求) ...#len函数可以查看字符串的长度,也就是能得出这是一个几位数,用str转换成字符串之后才能跟前后文字拼接 print('我把它倒过来给你看看:',''.join(list(reversed(nu...一、简单版(只实现这两个需求)
num=input('你好呀,请输入一个不多于五位的正整数>>>') print('嗯,我看过了,这是一个'+str(len(num))+'位数。') #len函数可以查看字符串的长度,也就是能得出这是一个几位数,用str转换成字符串之后才能跟前后文字拼接 print('我把它倒过来给你看看:',''.join(list(reversed(num)))) #reversed函数把原数字反转过来,返回的结果是迭代器 #用list函数把迭代器变成列表 #用join方法连接list里的所有元素,得到列表,用于连接的字符是什么也没有,所以就会无缝拼接
但是有一些数字翻转过来跟原来是一样的,比如8,88,858,8558,85658,所以下面的升级版会把这些无聊的翻转考虑进去,让程序更智能一点,更,em,可爱一点……
二、升级版
num=input('你好呀!请输入一个不多于五位的正整数:') print('嗯,我看过了。它是一个'+str(len(num))+'位数。') if (len(num)==1) or (len(num)<=3 and num[0]==num[-1]) or (num[0]==num[-1] and num[1]==num[-2]): #这里提出了三种懒得反转的情况,分别是只有一位数,比如8 #两位或者三位数,第一个数字和最后一个数字相同,比如88,858 #四位或者五位数,第一个数字和最后一个数字相同,第二个数字和倒数第二个数字相同,比如8558,85658 print('我本来想把它倒过来给你看看,但是它倒着写不好玩儿,算了吧~') else: print('我把它倒过来了,现在它变成了',''.join(list(reversed(num))))
三、自己造轮子(关注算法的请看)
num=input('请输入一个不超过5位的正整数>>>') num=int(num) #变量res用于存储逆转之后的数字 res=0 #变量count用于存储数字位数 count=0 #下面是这个算法的核心 while num !=0: #用取余数的方式取出当前的个位数字, # 把结果中原来已有的部分乘以10,加上刚取出来的个位数字。 #这就相当于把原来的部分往前挪了一下,给新来的个位数腾出来一个地方 res=res*10+num%10 #用除以10并向下取整的方式把已经处理过的数位去掉 num=int(num/10)8 #每处理一次,就给计数器count加1,用这样的方式计算num是几位数 count+=1 print('这是一个%s位数,它的逆序数字是%s'%(count,res))
为了帮助大家更好地理解上述算法的核心,请看下面的图解:
如果这篇博文帮到了你,就请给我点个赞吧(#^.^#)
有疑问也欢迎留言~博主可nice啦,在线秒回ヾ(◍°∇°◍)ノ゙
-
C语言:有N个数从小到大的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个数。...
2020-04-26 11:35:35C语言:有N个数从小到大的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个数。如果不在数组中,打印“not found”。/*有N个数从小到大的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个数。如果不在数组中,打印“not found”。*/ #include<stdio.h> #define N 10 int main() { int a[N]; int i,num,mid,low,high,local; int flag=1; printf("请输入%d个整数\n",N); for(i=0;i<N;i++) scanf("%d",&a[i]); printf("请输入要查找的数:\n"); scanf("%d",&num); while(flag==1) { low=0; high=N-1; if(num<a[0] || num>a[N-1]) { printf("not found!\n"); break; } while(low<=high) { mid=(low+high)/2; if(num==a[mid]) { local=mid+1; printf("%d是数组中第%d个数。\n",num,local); flag=0; break; } else { if(num<a[mid]) high=mid-1; else low=mid+1; } } if(low>high) { flag=0; printf("not found!\n"); } } }
-
给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
2019-08-18 16:31:57给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 输入代码如下: import java.util.Scanner; public class Demo12 { public static void main(String[] args) { Scanner input=new ...题目:
给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。输入代码如下:
import java.util.Scanner; public class Demo12 { public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.println("请输入一个不多于5位数的正整数:"); int n=input.nextInt(); int a=1; int i=0; while (n<0||n>99999){ System.out.println("输入有误,请重新输入"); n=input.nextInt(); }System.out.println("按逆序输出各位数字顺序是:"); while (n>=1) { a=n%10; n=n/10; i++; System.out.print(a+" "); } System.out.println("这是一个"+i+"位数"); } }
-
把一个数分解成任意几个数之和,打印所有和式分解的结果
2019-11-22 17:18:30题目:把一个数分解成任意几个数之和,把一个数的所有和式分解的结果全部输出出来, 例如:4的结果有,(1+3),(2+2),(1+1+2),(1+1+1+1) 由例子可见,该程序是去重的,应为1+1+2也可以写成1+2+1 ,所以,写方法必须...题目:把一个数分解成任意几个数之和,把一个数的所有和式分解的结果全部输出出来,
例如:4的结果有,(1+3),(2+2),(1+1+2),(1+1+1+1)
由例子可见,该程序是去重的,应为1+1+2也可以写成1+2+1 ,所以,写方法必须要去重
package org.jeecg.modules.applet.controller; import java.util.*; /** * 把一个数分解成任意几个数之和,把一个数的所有和式分解的结果全部输出出来 * 例如:4的结果有,(1+3),(2+2),(1+1+2),(1+1+1+1) */ public class Composition extends ArrayList<Integer> { /** * 重写equals方法方便去重,排除掉重复的数据 * @param other * @return */ @Override public boolean equals(Object other){ Composition comp = (Composition)other; Collections.sort(this); Collections.sort(comp); if(this.isEmpty() || comp.isEmpty() || this.size() != comp.size()) return false; for(int i=0; i<this.size(); i++) if(this.get(i) != comp.get(i)) return false; return true; } @Override public int hashCode() { return 0; } } class main { public static void main(String[] args) { int n=1; Scanner sc=new Scanner(System.in); //在控制台手动输入值 按enter键 便可得到结果 n=sc.nextInt(); System.out.println(toStr(calc(n))); } public static Set<Composition> calc(int n) { Set<Composition> devideSet = new HashSet<Composition>(); Composition Composition = new Composition(); switch (n) {//如果是1直接返回1 case 1: Composition.add(1); devideSet.add(Composition); return devideSet; case 2://如果是2返回1+1 Composition.add(1); Composition.add(1); devideSet.add(Composition); return devideSet; default: for (int i = 1; i <= n / 2; i++) { Composition = new Composition(); Composition.add(i); Composition.add(n - i); devideSet.add(Composition); if (i <= n - i) { Set<Composition> partial_pos = calc(n - i);//递归调用 for (Composition pos : partial_pos) { //当n==2时会走这个方法 pos.add(i); devideSet.add(pos); } } } return devideSet; } } public static String toStr(Set<Composition> devideSet) { String str = ""; for (Composition de : devideSet) str += toStr(de); return str; } public static String toStr(Composition Composition) {//将数字拼接成表达式 String str = Composition.get(0) + ""; for (int i = 1; i < Composition.size(); i++) str += (" + " + Composition.get(i)); str += "\n"; return str; } }
-
题目:由用户给定一个正整数, *要求:一、求它是几位数,二、逆序打印出各位数字。
2019-05-07 14:19:31package test1;...*要求:一、求它是几位数,二、逆序打印出各位数字。 * */ public class Test4 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); long x=sc.n... -
给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字
2018-04-03 19:27:26/** * 给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字 * @author Dreamweaver * */public class Demo24 { public static void main(String[] args) { Scanner sc = new Scanner... -
python作业题2 给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
2020-05-15 21:12:10给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 思路介绍 打印出几位数(利用枚举取一个边界函数) 逆序(用%取余函数) 复习:可以使用//求取两数相除的商、%求取两数相除的余数。... -
任意输入一个不超过八位数,反序输出,并打印出它是几位数。
2014-09-16 20:05:37从个位开始 -
输入一个不多于5位的正整数,求它是几位数并且逆序打印出个位数字
2016-12-30 21:54:47#include int main() { int i, j = 0, k, array[5], a, num, tmp, sum = 0; printf("Please enter a small 5 digit integer:"); while(1) { if((scanf("%d",&num) != 1) || getchar() !...printf( -
java中给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
2020-01-14 09:29:47/** * */ ... import java.util.Scanner; ...给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 * @author HadwinLing * * @date 2020年1月14日上午8:26:14 * ... -
给一个不多于5位的正整数,要求:1)求它是几位数,2)逆序打印出各位数字
2019-04-14 10:06:04给一个不多于5位的正整数,要求:1)求它是几位数,2)逆序打印出各位数字。关于这个问题比较简洁的写法 代码如下: package com.oracle.lianxi4; import java.util.Scanner; public class Test6 { public static ... -
【题目】由用户输入一个不多于5位的正整数。要求:一、求它是几位数;二、逆序打印出各位数字。
2019-06-10 22:20:08一、求它是几位数; 二、逆序打印出各位数字。 〉 创建时间:2019.6.10 /**************************** * 文件名:[作业] * 作者:〈漆黑〉 * 描述:〈 由用户输入一个不多于5位的正整数。 要求: 一、求它... -
一个循环、一个变量打印乘法口诀
2014-05-07 11:55:41前几天面试的时候遇到了一个问题,当时也没啥思路,而且时间比较紧,所以就空下了。回来后一直耿耿于怀,于是研究了一下。 问题是这样的:只用一个循环和一个变量打印出乘法口诀。 想了一段时间感觉还是没... -
C语言:输入一个不多于5位的正整数,要求1:求出它是几位数; 要求2:分别打印出每一位数; 要求3:按逆序...
2020-03-30 18:25:30/*输入一个不多于5位的正整数,要求1:求出它是几位数; 要求2:分别打印出每一位数; 要求3:按逆序打印出各位数字;*/ #include <stdio.h> #include <math.h> int num_count(int num); void showdata... -
C语言编程>第三周 ② 给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
2020-12-07 00:51:25例题:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 代码如下: /*程序分析:先分解出每一位数,再逐步分解出余下的数*/ #include "stdio.h" main( ) { long a,b,c,d,e,x; printf... -
输入一个不多于五位的正整数,判断它是几位数,分别打印出各位数字,并按逆序打印各位数字
2008-07-10 11:18:00输入一个不多于五位的正整数,判断它是几位数,分别打印出各位数字,并按逆序打印各位数字。#include using namespace std;int main() { void function(int a); int input,flag; coutcin>>input; if(input>=0 && ... -
给出一个不多于5位的正整数,要求:求出它是几位数;分别打印出每一位数字;按照逆序打印出各位数字
2019-10-18 22:21:53#include <... printf("请输入一个不多于5位的整数:"); scanf("%d",&a); b = a % 10; a = a / 10; printf("%d\n",b); if(a != 0) { c = a % 10; a = a / 10; printf("%d... -
题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
2020-03-04 10:59:56`python w=input(‘输入一个不超过5位的整数’) list=(w)m=len(w) print(‘这是’,m,‘位数’) n=list[::-1] for i in n: print(i) python入门级,结合这个代码可以了解一下列表的切片。 ... -
5.8 有15个数按由大到小的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素...
2018-07-30 09:28:21习题 5.8 有15个数按由大到小的顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则打印出“无此数”。 代码块: #include <iostream> ... -
【程序24】 题目:给一个不多于5位的正整数,要求: 一、求它是几位数,二、逆序打印出各位数字。
2017-03-14 09:37:37/* 2017年3月8日9:41:34 java基础50道经典练习题 例24 Athor: ZJY ... 一、求它是几位数,二、逆序打印出各位数字。 */ public class ProgramNo24_1 { public static void main(String[] args) { int n -
JAVA算法题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
2015-02-12 22:25:27题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 看到网上给出的程序,个人觉得还可以再优化一下。 网上程序为: import java.util.Scanner; public class Ex24 { public ... -
关于C语言如何处理数字(给一个不多于5位的正整数,要求:1.求它是几位数;2.逆序打印出各位数字;3.正序...
2019-06-26 09:46:28给一个不多于5位的正整数,要求:1.求它是几位数;2.逆序打印出各位数字;3.正序打印出各位数字。 前提说明: 从题中我们可以看出题目中对整数的位数已经限制为5位,我们在这里先不管这个限制,无论输入什么数字都... -
想做一个全能的所见即所得套打程序,放几张图片看
2008-10-23 21:54:00慢慢扩展了,下面是图片 下面的图片就是你要打印的纸张扫描图片 这是添加上的文字,红色代表是当前编辑的文字区域文字方向设置 这是分栏,就是一行文字分成几块显示,加大行间距,下面是效果启用分栏:值16 ,间
收藏数
31,522
精华内容
12,608
-
物联网基础篇:快速玩转MQTT
-
中国素食蔬菜图片机器学习数据集
-
智能停车场云平台(附vue+SpringBoot前后端项目源码)
-
java修饰符
-
数据分析师八大能力培养 Part4.梳理流程能力.pdf
-
linux基础入门和项目实战部署系列课程
-
app软件测试全栈系列精品课程
-
精通编译Makefile,Nina, 从底层uboot到Android
-
MySQL 备份与恢复详解(高低版本 迁移;不同字符集 相互转换;表
-
基于电商业务的全链路数据中台落地方案(全渠道、全环节、全流程)
-
【Python爬虫系列教程 2- 100】了解HTTP基本原理和爬虫的基本流程
-
7.3 浏览器前进后退刷新
-
2020-L1V3.pdf
-
R语言调试“Error in one %*% x : 需要数值/复数矩阵/矢量参数”
-
MySQL NDB Cluster 负载均衡和高可用集群
-
北邮编译原理课程实验LL1语法分析器.zip
-
Upload-Labs(1-5)
-
PowerBI重要外部工具详解
-
HGM2000多线消防广播系统使用说明书.pdf
-
数据分析师八大能力培养 Part0.开篇介绍.pdf