1 条题解

  • 0
    @ 2024-12-24 9:49:41

    C :

    #include<stdio.h>
    int main(){
        int count= 0,n;
        scanf("%d",&n);
        do{if(n%7 !=0 && (n%10)!=7 && (n/10)!=7) count += n*n;}while(n--);
        printf("%d",count);
        return 0;
    }
    

    C++ :

    #include <iostream>
    #include <stdio.h>
    
    using namespace std;
    bool isrelat(int a){
    	if(a % 7 == 0)return 1;
    	while(a > 0){
    		if(a % 10 == 7){
    			return 1;
    		}
    		else{
    			a /= 10;
    		}
    	}
    	return 0;
    }
    int main(){
    	int n;
    	scanf("%d",&n);
    	int sum = 0;
    	for(int i = 1; i <= n; i++){
    		if(!isrelat(i)){
    			sum += i * i;
    		}
    	}
    	printf("%d\n",sum);
    	return 0;
    }
    

    Java :

    import java.util.Scanner;
    /**
     *
     * @author zhenghan33
     */
    public class Main {
    
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            Scanner cin=new Scanner(System.in);
            int n=cin.nextInt();
            int sum=0;
            for(int i=1;i<=n;++i)
               if(!relateToSeven(i))
                   sum+=i*i;
            System.out.println(sum);
        }
        private static boolean relateToSeven(int n)
        {
            if(n%7==0)
                return true;
            String s=String.valueOf(n);
            for(int i=0;i<s.length();++i)
            {
                if(s.substring(i,i+1).equals("7"))
                    return true;
            }
            return false;
        }
    
    }
    
    
    • 1

    信息

    ID
    1016
    时间
    1000ms
    内存
    128MiB
    难度
    10
    标签
    递交数
    2
    已通过
    1
    上传者