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

0
0
已解决
胡家翊
胡家翊
高级守护
高级守护
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,sum=0;
    cin>>n;
    for(int i=0;i<=n;i++){
        int a;
        a=i;
        while(a>=1){         
            if(a%10==5){
                sum+=i;
            } 
            else if(a%5==0){
                sum+=i;
            }   
            a/=10;  
        }       
    } 
    cout<<sum;
    return 0;
}
    

哪错了,求大佬帮忙(QAQ)


0
0
周子昂
周子昂
修练者
修练者

可以定义一个函数看看能不能整除5或循环取数位看有没有5,最后带入主函数判断

0
王子凡
王子凡
高级光能
高级光能

这题中不需要while循环

只需要if判断就可以了

if (i%5==0||i%10==5||i%10%10==5)

然后把i加到ans就可以了

王子凡在2020-07-21 10:54:13追加了内容

或者这样写也可以

 for (从5到n循环)
    {
        flag=0;//判断数位中是否含5记录在flag上
        t=i;
        while (t!=0)//判断数位中是否含5
        {
            t2=t%10;
            t/=10;
            if (t2==5) flag=1;
        }
        if (flag==1 || i%5==0) s+=i;  
    }

 

0
董宇昊
董宇昊
初级启示者
初级启示者

这题要用一个变量来计数

for循环里面加个if判断

i%5==0

i/10==5

i%10==5

中间要用||(或者)连接

如果if成立

计数器++

最后输出计数器;

望采纳

谢谢!

0
0
0
陈曦
陈曦
资深天翼
资深天翼

核心:

        a=i%10;
        b=i/10%10;
        c=i/100%10;
        if((i%5==0)||(a==5)||(b==5)||(c==5)){
            sum=sum+i;
        }

 

我要回答