一个正整数,如果它能被3整除,或者它的十进制表示法中某一位上的数字为3,则称其为与3相关的数.现求所有小于等于n(n < 100)的与3无关的正整数的平方和.
输入格式:
输入为一行,正整数n(n < 100)
输出格式:
输出一行,包含一个整数,即小于等于n的所有与3无关的正整数的平方和。
输入样例:
29
输出样例:
5292
方法1:
cpp
#include<bits/stdc++.h>
using namespace std;
int flase=0;
int find(int a){
if(a%3==0)flase=1;
while(a>0){
int b;
b=a%10;
if(b==3){flase=1;break;}
a=a/10;
}
return flase;
}
int main()
{
int a;
long long s=0;
cin>>a;
for(int i=1;i<=a;i++){
flase=0;
flase=find(i);
// cout<<flase<<endl;
if(flase==0){
s=s+i*i;
}
}
cout<<s<<endl;
}
方法2:
cpp
#include <bits/stdc++.h>
using namespace std;
int main()
{
long long n,i,j;
cin>>n;
long long sum=0;
for(i=1; i<=n; i++)
{
if( (i%3)!=0 && (i%10)!=3 && (i/10)!=3 )
{
j=i*i;
sum+=j;
}
}
cout<<sum<<endl;
return 0;
}