当前位置: 代码迷 >> C语言 >> 问个关于这个数是否能被整除的问题
  详细解决方案

问个关于这个数是否能被整除的问题

热度:229   发布时间:2008-05-12 16:43:31.0
问个关于这个数是否能被整除的问题
//飞燕论坛上的一题,
http://yzfy.org/bbs/viewthread.php?tid=417&extra=&page=1
#define PB_ID ct5_3
#include <stdio.h>
int main(void)
{
    int n;
    for(;;)
    {
        int sum = 0;
        int z = 0;
        while((n=getchar())!='\n')
        {
            if(n>'0')
            {
                z=1;
                if(n=='7')
                {
                    sum = 0;
                    while(getchar()!='\n');
                    break;
                }
            }
            sum = sum * 3 + n - '0';       //这个地方是字符转整数,这个怎么理解?
                                           //是怎么算这个数是7个倍数?有什么公式?
            while(sum>=7)sum -= 7;         //消因子
        }
        if(z==0)break;
        if(sum==0)
            puts("yes");
        else
            puts("no");
    }
    return 0;
}
   


[[it] 本帖最后由 菜鸟选手 于 2008-5-12 17:32 编辑 [/it]]
搜索更多相关的解决方案: 整除  

----------------解决方案--------------------------------------------------------
up!
----------------解决方案--------------------------------------------------------
a*10 % 7

a*3 % 7
的结果有区别吗?

[color=white]
----------------解决方案--------------------------------------------------------
...
   想想 ..
----------------解决方案--------------------------------------------------------
a*10=a*(7+3)=a*7+a*3
----------------解决方案--------------------------------------------------------
还有,那个地方字符转整数是因为你输入的是字符,而不是整数,而sum减7的操作需要sum是一个整数.
----------------解决方案--------------------------------------------------------
  相关解决方案