问题标题: 酷町堂:1038 与7相关的数

0
0
已解决
杨坤泽
杨坤泽
新手守护
新手守护

写好程序提交不是100分

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,sum=0;
    cin>>n;
    for(int i=1;i<=n;i++){
        if(i%10==7||i%7==0||i/10==7||i/100==7||i/1000==7){
            sum+=i;
        }
    }
    cout<<sum;
    return 0;
}

——这是我编写的代码


1
已采纳
江子周
江子周
中级守护
中级守护

emmmmm……(这怎么变成4分题了,而且……题目改了!!!)

咳咳,进入正题

------------------------------------------------------------------------------------

i/10==7、i/100==7、i/1000==7都不对!!!

万一是8974呢?

照这样,8974/10=897,8974/100=89,8974/1000=8。。。。。。

建议用循环取位数

循环取位数的代码给你~(模板代码)

bool ____/*函数名字自己定义*/(int n)
{
    while(n)
    {
        int a=n%10;//取出当前位数
        n/=10;
        //(这里留给你思考~如果当前位数为7,return true)
    }
    return false;//否则没有
}

那么~

   

if(i%7==0&&_____(i))
   sum+=i;

祝你早日AC!

0
我要回答