精华内容
下载资源
问答
  • 蓝桥杯 1的个数

    2020-05-06 10:17:59
    蓝桥杯 1的个数

    问题描述

    输入正整数n,判断从1到n之中,数字1一共要出现几次。例如1123这个数,则出现了两次1。例如15,那么从1到15之中,一共出现了8个1。

    输入格式

    一个正整数n

    输出格式

    一个整数,表示1出现的资料

    样例输入

    15

    样例输出

    8

    解题代码

    import java.util.Scanner;
    
    public class Main {
    
    	static Scanner sc = new Scanner(System.in);
    	
    	public static void main(String[] args) {
    		int n = sc.nextInt();
    		int num = 0;
    		for (int i = 1; i <= n; i++) {
    			String str = String.valueOf(i);
    			for (int j = 0; j < str.length(); j++) {
    				if(String.valueOf(str.charAt(j)).equals("1")) {
    					num = num + 1;
    				}
    			}
    		}
    		System.out.println(num);
    	}
    	
    }
    
    
    展开全文
  • 蓝桥杯1的个数

    2021-02-05 17:35:35
    试题 算法训练 1的个数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述  输入正整数n,判断从1到n之中,数字1一共要出现几次。例如1123这个数,则出现了两次1。例如15,那么从1到15之中,一共出现了8个1。 ...

    试题 算法训练 1的个数

    资源限制
    时间限制:1.0s 内存限制:256.0MB
    问题描述
      输入正整数n,判断从1到n之中,数字1一共要出现几次。例如1123这个数,则出现了两次1。例如15,那么从1到15之中,一共出现了8个1。
    输入格式
      一个正整数n
    输出格式
      一个整数,表示1出现的资料
    样例输入
    15
    样例输出
    8

    import java.util.Arrays;
    import java.util.Scanner;
    
    public class 出现1的个数 {
        public static void main(String[] args) {
            Scanner scanner=new Scanner( System.in );
            int n = scanner.nextInt();
            int count=0;
            for (int i = 1; i <= n; i++) {
            //把1-n的所有的数字变成字符数组
                char[] chars = String.valueOf( i ).toCharArray();
                for (int j = 0; j < chars.length; j++) {
                    //判断字符数组是否和1相等
                    if (chars[j]=='1'){
                        count++;//计数器
                    }
    
                }
                //            System.out.println( Arrays.toString( chars ) );
            }
            System.out.println( count );
        }
    
    
    
    }
    

    记得把类名改为Main.

    展开全文
  • 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述  输入正整数n,判断从1到n之中,...查找前n个数的1的和,那么就用循环遍历每一个数,把每一个数都查分位数进行判断即可,代码如下: #include<bits/stdc++.h&

    资源限制
    时间限制:1.0s 内存限制:256.0MB
    问题描述
      输入正整数n,判断从1到n之中,数字1一共要出现几次。例如1123这个数,则出现了两次1。例如15,那么从1到15之中,一共出现了8个1。
    输入格式
      一个正整数n
    输出格式
      一个整数,表示1出现的资料
    样例输入
    15
    样例输出
    8
    数据规模和约定
      n不超过30000

    解题思路:
    查找前n个数的1的和,那么就用循环遍历每一个数,把每一个数都查分位数进行判断即可,代码如下:

    #include<bits/stdc++.h>
    
    using namespace std;
    
    int main(){
    	int n, a, b, c, d, e;
    	cin >> n;
    	int num = 0;
    	for(int i = 1; i <= n; i ++){
    		a = i / 10000;
    		b = i / 1000 - 10 * a;
    		c = i / 100 - (i / 1000) * 10;
    		d = i / 10 - (i / 100) * 10;
    		e = i % 10;
    		if (a == 1){
    			num ++;
    		}
    		if (b == 1){
    			num ++;
    		}
    		if (c == 1){
    			num ++;
    		}
    		if (d == 1){
    			num ++;
    		}
    		if (e == 1){
    			num ++;
    		}
    	}
    	cout << num;
    	return 0; 
    } 
    
    展开全文
  • [C++]蓝桥杯 1的个数

    2020-03-19 09:28:41
    问题描述  输入正整数n,判断从1到n之中,数字1一共要出现几次。... 一个整数,表示1出现资料 样例输入 15 样例输出 8 数据规模和约定  n不超过30000 #include<iostream> #include<math.h> using...

    问题描述
      输入正整数n,判断从1到n之中,数字1一共要出现几次。例如1123这个数,则出现了两次1。例如15,那么从1到15之中,一共出现了8个1。
    输入格式
      一个正整数n
    输出格式
      一个整数,表示1出现的资料
    样例输入
    15
    样例输出
    8
    数据规模和约定
      n不超过30000

    #include<iostream>
    #include<math.h>
    using namespace std;
    int main(){
    	string n;
    	int a[5];
    	a[0]=1;
    	for(int i=1;i<5;i++){
    		a[i]=10*a[i-1]+pow(10,i);
    	}
    	//求出9,99,999,9999中含1的个数。
    	/*for(int i=0;i<5;i++){
    		cout<<a[i]<<endl;
    	}*/
    	while(cin>>n){
    		int cnt=0;
    		for(int i=0;i<n.length();i++){
    			int num=n[i]-'0';//num表示当前位上的数值
    			if(i==n.length()-1){
    				if(num>=1)cnt++;
    			}else{
    				int num=n[i]-'0';
    			if(num>1){
    				cnt+=(num)*a[n.length()-2-i]+pow(10,n.length()-1-i);
    			}
    			else if(num==1){
    			int cun=0;
    				for(int j=i+1;j<n.length();j++){
    					cun*=10;
    					cun+=n[j]-'0';
    				}
    				cnt+=a[n.length()-2-i]+cun+1;
    			}
    			}
    			
    		}
    
    		cout<<cnt<<endl;
    	}
    	return 0;
    }
    

    处理方法:随便举一个例子:先定义函数f(x)表示x中含有1的个数,则5394这个数中1的个数为:
    *f(5294)=(5+1)f(999)+294+1
    在一开始的步骤中就已经算出,9,99,999等数中1的个数。剩下的就是对特殊情况的讨论。
    当然这种情况直接用循环从1到n进行循环,算出每个数中含1的个数,再直接累加求和,那么结果显然是超时的,随着数字增大时间复杂度比数字增长的倍数还大。
    用公式的话是明显比暴力来得好啦啦啦。

    展开全文
  • 蓝桥杯 排列的个数 递归

    千次阅读 2015-04-04 16:25:53
    计算3个A,2个B可以组成多少种排列问题(如:AAABB, AABBA)是《组合数学》研究领域。但有些情况下,也可以利用计算机计算速度快特点通过巧妙推理来解决...if(m==0 || n==0) return 1; return _____________
  • 蓝桥杯——1的个数

    2020-02-06 23:26:57
    1的个数 问题描述  输入正整数n,判断从1到n之中,数字1一共要出现几次。例如1123这个数,则出现了两次1。例如15,那么从1到15之中,一共出现了8个1。 输入格式 一个正整数n 输出格式 一个整数,表示1出现的个数 ...
  • [蓝桥杯] 1的个数

    2017-04-01 18:50:52
    从1到20的所有数字中含有多少个“1” ...思路:构造一个函数计算每个数字中含有1的个数,然后求和 public class Main { public static void main(String[] args) { int count = 0; for(int i=1;
  • 蓝桥杯-1的个数-C++

    2021-01-20 00:56:42
    ALGO-195 1的个数 题目 问题描述 输入正整数n,判断从1到n之中,数字1一共要出现几次。例如1123这个数,则出现了两次1。例如15,那么从1到15之中,一共出现了8个1。 输入格式 一个正整数n 输出格式 一个整数,表示1...
  • 问题描述  输入正整数n,判断从1到n之中,数字1一共要出现几次。例如1123这个数,则出现了两次1。例如15,那么从1到15之中,一共出现了8个1。 输入格式  一个正整数n ...public class 一的个数 { pub...
  • 问题描述  输入正整数n,判断从1到n之中,数字1一共要出现几次。例如1123这个数,则出现了两次1。...解题思路:编写函数求一个数中1的个数,再循环求每个包含1的个数,相加即可 #include<iost...
  • 蓝桥杯——2的个数

    2020-10-17 19:31:17
    问题描述: 小蓝要为一条街的住户制作门牌号。 这条街一共有2020位住户,门牌号从1到2020编号。 小蓝制作门牌的方法是先制作0到9这几个数字字符, 最后根据需要将字符粘贴到门牌上, ...代码:(求1~n中2的个数) publ
  • Java实现 蓝桥杯 算法训练 1的个数

    万次阅读 多人点赞 2020-02-07 19:44:11
    试题 算法训练 1的个数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述  输入正整数n,判断从1到n之中,数字1一共要出现几次。例如1123这个数,则出现了两次1。例如15,那么从1到15之中,一共出现了8个1。 ...
  • Algo195 算法训练 1的个数 题目如下: 这题很简单,摆明了让你暴力。但暴力也分麻烦不麻烦。我这里就选择把所有数拼接成一个字符串,最后一行算出1的个数 package algo; import java.util.Scanner; /** * @...
  • 蓝桥杯试题:1的个数

    2020-01-16 19:52:00
    输入格式 一个正整数n输出格式 一个整数,表示1出现资料样例输入15样例输出8数据规模和约定 n不超过30000 思路: /* * 1.获取一个数,将数转成字符串, * 2.将这个数循环,如果有一,则count++; *...
  • Java实现蓝桥杯模拟约数的个数

    万次阅读 多人点赞 2020-03-09 12:51:52
    问题描述  1200000有多少个约数(只计算正约数)。 答案提交  这是一道结果填空题,你只需要算出结果后提交即可。本题结果为一个整数,在提交...public class Demo1约数 { public static void main(String[]...
  • 试题 算法训练 1的个数 问题描述 输入正整数n,判断从1到n之中,数字1一共要出现几次。例如1123这个数,则出现了两次1。例如15,那么从1到15之中,一共出现了8个1。 输入:15 输出:8 下面看代码吧! import java....

空空如也

空空如也

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

蓝桥杯1的个数