与7无关的数
一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n < 100)的与7无关的正整数的平方和.
时间限制:1000
内存限制:65536
输入
输入为一行,正整数n(n < 100)
输出
输出一行,包含一个整数,即小于等于n的所有与7无关的正整数的平方和。
样例输入
21
样例输出
2336
一是求余7不等于0,二是十位和个位不等于7
#include <iostream>
using namespace std;
int main()
{
int n,i,sum=0;
cin>>n;
for(i=1;i<=n;i++)
{
if(i%7==0)
continue;
if( (i/10 == 7) || (i%10 == 7))
continue;
sum += i*i;
}
cout<<sum;
return 0;
}
#include <iostream>
using namespace std;
long long n,sum;//定义在函数外面自动初始化零
int main(){
cin >> n;
for(int i=1;i<=n;i++){
if(i%7 == 0)
//判断对7取余是不是零
continue;//跳到下次循环
if( (i/10 == 7) || (i%10 == 7))
//因为n<100所以只需要判断两位,第一个判断十位是不是零,第二个判断个位是不是零
continue;
sum += i*i;
}
cout << sum;
return 0;
}
#include <iostream>
#include <string>
using namespace std;
int n;
int main() {
cin>>n;
int total=0;
for(int i=1;i<=n;i++)
{
if(i%7==0||i%10==7||i/10==7)
{
continue;
}
total+=i*i;
}
cout<<total;
return 0;
}
```c++
#include<iostream>
#include<cmath>
using namespace std;
int main(){
int a;
int temp=0;
int gewei,shiwei;
for(int i=0;i<a;i++){
gewei=i%10;
shiwei = i/10;
if(i%7!=0 && gewei!=7 && shiwei!=7)
{temp = temp+ pow(i,2)}
}
cout<<temp<<endl;
}
```
望采纳
代码实现:
方法一:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int n, sum=0;
cin >> n;
bool b;
for (int i=1; i<=n; i++){
b = false; // 假设与7无关
if (i%7==0 || i%10==7 || (i/10==7))
b=true; // 假设不成立
if (!b) sum += i*i;
}
cout << sum;
return 0;
}
方法二:
#include<cstdio>
int n,ans;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
if(i%7==0) continue;
if(i%10==7) continue;
if(i/10==7) continue;
ans+=i*i;
}
printf("%d\n",ans);
return 0;
}
希望对题主有所帮助!可以的话,帮忙点个采纳!
#include<iostream>
using namespace std;
int f(int n)
{
if(n%7==0&&n!=0)
return 1;
while(n)
{
int tem=n%10;
n/=10;
if(tem==7)
return 1;
}
return 0;
}
int main()
{
int n,sum=0;
cin >> n;
for(int j=0; j<=n; j++)
{
if(!f(j))
{
sum+=j*j;
}
}
cout << sum << endl;
return 0;
}
逻辑部分不懂可以下面评论:(助力解答)
#include <iostream>
using namespace std;
int main() {
int number; //定义一个整数变量,用于存放输入数
int sum = 0; //和7无关的平方和
printf("Please enter a number and not greater than 100:");
cin>>number; //输入一个数
for(int i = 0; i<=number; i++)
{
if(i%10 == 7 || i%7 == 0 || i/10 == 7) //逻辑判断部分被7整除
{
continue;
}
sum = sum + number*number;
}
cout<<"Output value:"<<sum<<endl; //输出的值
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int n, sum = 0;
cin >> n;
for (int i = 1; i <= n; i++)
if (i % 7 != 0 && i % 10 != 7 && i / 10 != 7)
sum += i * i;
cout << sum << endl;
return 0;
}
我用#CSDN#这个app发现了有技术含量的博客,小伙伴们求同去《一个正整数,如果它能被7整除,或者它的十进制表示法中某个位数上的数字为7,则称其为与7相关的数.现求所有小于等于n的与7无关的正整数的平方和》, 一起来围观吧 https://blog.csdn.net/weixin_40166018/article/details/106109268?utm_source=app&app_version=5.2.1&code=app_1562916241&uLinkId=usr1mkqgl919blen