1970 - 计算与7无关的数
时间限制 : 1 秒
内存限制 : 128 MB
一个正整数,如果它能被7整除,或者它的十进制表示法中某个位数上的数字为7,则称其为与7相关的数。现求所有小于等于n(n<100)的与7无关的正整数的平方和。
题目输入
小于100的正整数
题目输出
小于输入的正整数的与7无关的数的平方和
输入/输出样例
输入格式
20
输出格式
2336
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; } }