问题标题: 酷町堂:3872

0
0
已解决
冯绍安
冯绍安
中级守护
中级守护
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[1000],i,n,m=0,c=0,t=1,x=0;
cin>>n;
while(n)
{
    a[m]=n%2;
    n/=2;
    m++;
}
for(int j=0;j<i+1;j++)
{
    for(int y=0;y<=j;y++)
    {
        if(y==0)
        {
        break;  
        }
            else
            {
                t=t*10;
            }

    }
    x=a[j]*t+x;
}
    while(c==0) 
    {
        if(i%n==0&&i%x==0)
        {
            c=i;

            break;
        }
        i++;
    }
   cout<<c;
return 0;
}



为啥错了?


0
已采纳
屈子元
屈子元
初级守护
初级守护

思路:判断字母后面是否是数字字符,如果是,将它直接%2(因为‘0’的ASCLL码为48,%2的值不会变)

是奇数则加1,是偶数则减1,并且删除(用erase函数)

我就喜欢错的代码重新写,你试试

还有,你是不是之前那个天星棋校的学员,如果是你应该认识我

0
李致远
李致远
高级光能
高级光能

是奇数则加1,是偶数则减1,并且删除用erase函数!

 

0
我要回答