首页 > TAG信息列表 > 几位数

[算法导论] 400. 第N位数字

0. 题目 就比如11,其实是1234567891011.....字符串第11个,就是0 1. 按k位数分割区域 区域占字符长度:9*10^(k-1) e.g. 寻找字符串中第n位数字,比如n=11 。

C/C++ c/c++ 给一个正整数, 要求:①求出它是几位数; ②分别打印出每一位数字; ③按逆序打印出各位数字, 例如原数为321, 应输出123。

这个问题有一个很笨很直接的方法 就是设定很多变量来存放整数的各位数字  且原题目是不超过5位的正整数   这样效率低的没边  不过一般也没有人用这种方法  但是很神奇的是书上的答案就是这种方法    下面给出通解方法 int main() { int weishu(int n); void meiyiwei(

“21天好习惯”第一期-9

第一题hdu1018 这个解法好有意思,用log来判断几位数 第二题hdu2096 这题真的很水,但是我wa了三次,因为没注意到a+b会超过int的范围,我还以为是我没初始化。。然后一开始就拿后两位算就行了  

C语言----循环的嵌套(进阶篇二十)

    循环嵌套和break语句     while、do while和for语句都可以形成嵌套,在这里我们着重分析for语句的嵌套。     程序1       简单的for语句嵌套           // 20-1简单for语句嵌套.c #include <stdio.h> //main() //{ // int i, j,k; // k = 0; /

输入10个数,要求输出其中最大的元素和该数是第几位数

//输入10个数,要求输出其中最大的元素和该数是第几位数 #include <stdio.h> #define N 10 void main() { int a[N],i,max,num=1; printf("请输入10个数:\n"); for(i=0;i<N;i++) scanf("%d",&a[i]); max=a[0]; for(i=1;i<N;i++) { if(max<a[i]) {

C++: 给一个不多于5位的正整数,要求(1)求出它是几位数;(2)分别打印出每一位数字;(3)逆序打印各位数字,例如原数为321,应输出123

给一个不多于5位的正整数,要求(1)求出它是几位数;(2)分别打印出每一位数字;(3)逆序打印各位数字,例如原数为321,应输出123 #include <iostream> #include <string> #include <algorithm> using namespace std; int main() { string a; //求出是几位数 cout << "请输入一个

谭浩强5-7

给出一个不多于5位的整数,要求 1、求出它是几位数 2、分别输出每一位数字 3、按逆序输出各位数字,例如原数为321,应输出123 源代码: #include <stdio.h> #include <stdlib.h> int main() { int a,b,c,d,e,f,g,h; scanf("%d",&a); if(0<=a&&a<10){printf("1\n");

3. 输入一个正整数求出它是几位数:输出原数和位数。

1 #include <iostream> 2 #include <string> 3 4 using namespace std; 5 int digit; 6 7 int main(void) { 8 void count(string str); 9 printf("Please input numbers:\n"); 10 string text; 11 cin >> text; 12

给一个不多于5位的正整数,要求:①求出它是几位数;②分别输出每一位数字;③按逆序输出各位数字,例如原数为321,应输出123。

给一个不多于5位的正整数,要求:①求出它是几位数;②分别输出每一位数字;③按逆序输出各位数字,例如原数为321,应输出123。 ①求出它是几位数; 解题思路: 大于10000就是5位,否则大于1000就是四位,否则大于100是三位... 答案: #include <stdio.h> int main() { int num; printf("enter

C语言初学常见(应试)程序类型 —— 一、小白篇(1)

1. break 的常错点 2. 输入n位数字判断该数为几位数,并用顺序和逆序输出 3. 防误输(continue 的运用 ) 4. 如何查看循环次数 5. for 的强制转换问题 和 浮点数的精度问题 6. 大写字母和小写字母互相转换

53.给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

#include"stdio.h" void main( ) { int a,b,c,d,e,n; printf("请输入不多于5位的正整数:"); scanf("%d",&n); a=n/10000; b=n%10000/1000; c=n%1000/100; d=n%100/10; e=n%10; if (a!=0) print

53.给一个不多于5位的正整数,要求:求它是几位数,逆序打印出各位数字

53.给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 //53.给一个不多于5位的正整数,要求:求它是几位数,逆序打印出各位数字 #include<stdio.h> main() { int i,j,a[5],b,c,d=0; scanf("%d",&b); c=b; for(j=0,i=10000;j<5;i/=10,j++) { a[j]=c

C语言程序设计Day4

C语言程序设计Day4 循环 数数几位数:输入一个三位以下的数(含三位)判断他是几位数。 #include <stdio.h> int main() { int x; int n; printf("请输入一个数\n"); scanf("%d",&x); if(x>=100) { n=3; }else if(x>=10) { n=2; }else if(x>=1) { n=1; } prin

有趣的数(动态规划)

题目:  一个数称为“有趣”的,当且仅当: (1)它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次。 (2)所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前。 (3)最高位数字不为0。 因此,符合我们定义的最小的有趣的数是2013。除此以外,4位的有趣的数还有两个:2031和2301。请计算恰

计数排序

/*其主要是将1同样大小的数据放在一起,然后在分开 */ #include <iostream> using namespace std; int SUM(int a[],int n) {//此函数为找到该数组最大值,作用为,开辟这么大的空间以防浪费 int max; max=a[0]; for(int i=1;i<n;i++) { if(a[i]>max) m

查找无限整数序列的第n位1,2,3,4,5,6,7,8,9,10,11,...

思路: 1.1-9 有9 位数,10-99 有180 位。因此我们首先找到这个位数是几位数。 2.在找到这个数, 3.确定这个数的第几位是我们要找的。 代码:   public class FindNthDigit { public static int findNthDigitSolution(int n){ // 1. 计算这个数是几位数 int digits =

c语言练习29——输入一个不超过5位的数字,判断共几位数字,并逆序输出

#include<stdio.h>#include<stdlib.h>/*题目:给出一个不超过5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。*/int main(){int a,a1,a2,a3,a4,a5;while(1){printf("请输入一个5位以内的数字:");scanf("%d",&a);if(a<=9)printf("共1位数,逆序:%d\n",a);else if(a<

什么是模?怎么用

模除(又称模数、取模操作、取模运算等,英语:modulo 有时也称作 modulus)得到的是一个数除以另一个数的余数。例如:Random::number(8) % 13得到的余数只能使0-13无论number是几位数

给一个正整数,要求:1.求出它是几位数;2.分别输出每一位数字;3.按逆序输出每一位数字,例如原数为321,应输出123。

//统计n是个位数字 //算法:每次丢弃个位数字(n/=10) int GetFigures(int n) { int i; for(i=0;n != 0 ; i++) { n=n/10; } return i; } //顺序输出,1234->1 2 3 4 //算法:调用求位数的函数,确认该正整数为几位数;利用循环求出,取得该正整数最高位应整除的数 void PrintOrder(int n) { i