• 与7无关的数


    总时间限制: 
    1000ms
     
    内存限制: 
    65536kB
    描述

    一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和.

    输入
    输入为一行,正整数n(n < 100)
    输出
    输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。
    样例输入
    21
    样例输出
    2336
    来源
    计算概论05

    代碼實現:

     1 #include<cstdio>
     2 int n,ans;
     3 int main(){
     4     scanf("%d",&n);
     5     for(int i=1;i<=n;i++){
     6         if(i%7==0) continue;
     7         if(i%10==7) continue;
     8         if(i/10==7) continue;
     9         ans+=i*i;
    10     }
    11     printf("%d
    ",ans);
    12     return 0;
    13 }

    题目来源:OpenJudge-NOI

    一个正整数,如果它能被7整除,或者它的十进制表示法中某个位数上的数字为7,则称其为与7相关的数。求所有小于等于N的与7无关的正整数的平方和。
     
    例如:N = 8,<= 8与7无关的数包括:1 2 3 4 5 6 8,平方和为:155。
    Input
    第1行:一个数T,表示后面用作输入测试的数的数量。(1 <= T <= 1000)
    第2 - T + 1行:每行1个数N。(1 <= N <= 10^6)
    Output
    共T行,每行一个数,对应T个测试的计算结果。
    Input示例
    5
    4
    5
    6
    7
    8
    Output示例
    30
    55
    91
    91
    155
    李陶冶 (题目提供者)
     
    C++的运行时限为:1000 ms ,空间限制为:131072 KB
    先打表。
    代码实现:
     1 #include<cstdio>
     2 #include<iostream>
     3 using namespace std;
     4 const long long maxn=1000010;
     5 long long t,n,a;
     6 long long ans[maxn];
     7 bool p;
     8 int main(){
     9     for(long long i=1;i<=maxn;i++){
    10         a=i;p=0;ans[i]=ans[i-1];
    11         if(a%7==0) p=1;
    12         while(a){
    13             if(p) break;
    14             if(a%10==7) p=1;
    15             a/=10;
    16         }
    17         if(!p) ans[i]+=i*i;
    18     }
    19     cin>>t;
    20     for(long long i=1;i<=t;i++){
    21         cin>>n;
    22         cout<<ans[n]<<endl;
    23     }
    24     return 0;
    25 }

    题目来源:51Nod

  • 相关阅读:
    django模型系统(二)
    css基础
    css进阶
    django模型系统(一)
    自定义过滤器及标签
    django模板标签
    模板变量及模板过滤器
    第六章 异常
    第三章:多态
    第三章:提高系统性能:从数据访问开始
  • 原文地址:https://www.cnblogs.com/J-william/p/6156159.html
Copyright © 2020-2023  润新知