1602 - 与7无关的数

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 32 MB


一个正整数,如果它能被7整除,或者它的十进制表示法中某个位数上的数字为7,<br />

则称其为与7相关的数.现求所有小于等于n(n<100)的与7无关的正整数的平方和。

<br />

题目输入


案例可能有多组。对于每个测试案例输入为一行,正整数n,(n&lt;100)

<br />

题目输出


对于每个测试案例输出一行,输出小于等于n的与7无关的正整数的平方和。

<br />

输入/输出样例

输入格式

6
12
18

输出格式

91
601
1575

C语言解答

#include "stdio.h"
int main()
{
	int i,s,n,sum,g;
	while(scanf("%d",&n)!=EOF && n<=100 && n>0)
	{
		sum=0;
		for(i=1;i<=n;i++)
		{
			if(i%7 && (i%10)!=7 && (i/10)!=7)
			  sum=sum+i*i;
		}
		printf("%d\n",sum);
	}
	return 0;
}

C++解答

#include<stdio.h>
int main()
{int i,k,n;
while(scanf("%d",&n)!=EOF)
{k=0;
for(i=1;i<=n;i++)
if(i!=7&&i!=17&&i!=27&&i!=37&&i!=47&&i!=57&&i!=67&&i!=77&&i!=87&&i!=97&&i!=70&&i!=71&&i!=72&&i!=73&&i!=74&&i!=75&&i!=76&&i!=78&&i!=79&&i!=14&&i!=21&&i!=28&&i!=35&&i!=42&&i!=49&&i!=56&&i!=63&&i!=84&&i!=91&&i!=98)
k+=i*i;
printf("%d\n",k);
}
return 0;
}

Java解答

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		while(sc.hasNext()){
			int n=sc.nextInt();
			int S=0;
			for(int i=1;i<=n;i++){
				int flag=0;
				String s=String.valueOf(i);
				if(i%7==0){
					flag=1;
				}else{
					for(int j=0;j<s.length();j++){
						if(s.substring(j, j+1).equals("7")){
							flag=1;
							break;
						}
					}
				}
				if(0==flag){
					S+=i*i;
				}
			}
			System.out.println(S);
		}
		sc.close();
	}
}