问题 C: 二哈大定理

来源:互联网 发布:树莓派的编程语言 编辑:程序博客网 时间:2024/06/05 03:54

问题 C: 二哈大定理

时间限制: 1 Sec  内存限制: 128 MB
提交: 173  解决: 18
[提交][状态][讨论版]

题目描述

二哈虽然懒,但是二哈有着远大的理想,希望能够用自己的名字命名一个定理,于是二哈提出了二哈大定理:如果一个数a,他能够被b整除,或者他的十进制表示法上的某一位为b,则称a与b相关。(好像和没说一样。。。)现在二哈想知道所有小于等于n的与3或5无关的正整数的平方和

输入

只有一行,一个正整数n(0<n<=300)

输出

只有一行,小于等于n的与3或5无关的正整数的平方和(注意,这个数和3和5都无关)

样例输入

8

样例输出

134
这个题注意是这个数中如果含有3或5就会相关,很无语
#include<stdio.h>
int c[310];
int main(){
    c[1]=1;
    for(int i=2;i<=300;i++){
        int flag=0;
        if(i<10){
            if(i%3==0||i%5==0)
            flag=1;
        }
        else
        if(i>=10&&i<100){
            int a=i%10;
            int b=i/10;
            if(i%3==0||i%5==0||b==5||a==5||b==3||a==3){
                flag=1;
            }
        }
        else
        if(i>=100)
        {
            int a=i/100;
            int c=i%10;
            c=c%10;
            int b=i%100;
            b=b/10;
        //  printf("%d %d %d\n",a,b,c);
            if(i%3==0||i%5==0||c==5||b==5||a==5||c==3||b==3||a==3){
                flag=1;
            }
        }
        if(flag==1)
        {
            c[i]=c[i-1];
        }
        else
        {
            c[i]=c[i-1]+i*i;
        }
         
    }
    int n;
    while(~scanf("%d",&n)){
        if(n>300||n<0)
        break;
        printf("%d\n",c[n]);
    }
}
原创粉丝点击