关于#c++#的问题:65536输入输入为一行,正整数n(n < 100)输出输出一行,即小于等于n的所有与7无关的正整数的平方和

与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