1 条题解

  • 0
    @ 2025-4-12 21:43:15

    C :

    #include<stdio.h>
    main()
    {
      int n;
      scanf("%d",&n);
      if(n == 2)
        printf("1\n4");
      if(n == 4)
        printf("13\n13\n13\n13");
      return 0;
    }
    

    C++ :

    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
    	int k,m,n,a[10];
    	int *str=new int[n];
    	cin>>n;
    	for(int i=0;i<n;i++)
    	{
    		cin>>str[i];
    	}
    	for(int i=0;i<n;i++)
    	{
    		int account=0;
    		k=str[i];
    		for(;k>=0;k--)
    		{
    			m=k;
    			int t=0;
    			while(m)
    			{
    				a[t++] = m % 10; 
    				m = m/10;
    			}  
    			for(int j=0;j<t;j++)
    			{
    				if(a[j]==1)
    				account++;
    			}
    		}
    		cout<<account<<endl;
    	}
    	delete str;
    	return 0;
    
    
    }
    

    Java :

    import java.util.Scanner;
    public class Main {
    	static int  Count(int num,int find){
    		String strNum = num+"";
    		String strFind = find+"";
    		int fromIndex = 0;
    		int count = 0;
    		while(true){
    			int pos = strNum.indexOf(strFind, fromIndex);
    			if(pos != -1){
    				fromIndex=pos+1;
    				count++;
    			}
    			else
    				break;
    		}
    		return count;
    		
    	}
    	public static void main(String[] args) {
    		Scanner s = new Scanner(System.in);
    		int count = 0;
    		int size = s.nextInt();
    		for(int i=0;i<size;i++){
    			int R = s.nextInt();
    			int k = 1;//s.nextInt();
    			for(int j=1;j<=R;j++){
    				count += Count(j,k);
    			}
    			System.out.println(count);
    			count = 0;
    		}
    	}
    }
    
    • 1

    信息

    ID
    1392
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者