编程论坛's Archiver

菜鸟选手 发表于 2008-5-12 16:43

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

//飞燕论坛上的一题,
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;
}
   
[tk13] [tk13]

[[it] 本帖最后由 菜鸟选手 于 2008-5-12 17:32 编辑 [/it]]

菜鸟选手 发表于 2008-5-12 17:32

up!

雨中飛燕 发表于 2008-5-12 19:45

a*10 % 7

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

[img]http://blog.programfan.com/upfile/200804/20080430094836.gif[/img][color=white]

菜鸟选手 发表于 2008-5-12 19:47

[tk02] ...
   想想 ..

mqh21364 发表于 2008-5-13 11:19

a*10=a*(7+3)=a*7+a*3

mqh21364 发表于 2008-5-13 11:23

还有,那个地方字符转整数是因为你输入的是字符,而不是整数,而sum减7的操作需要sum是一个整数.

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.