整除三!
pascal吧
全部回复
仅看楼主
level 10
输入一个不超过200位的整数,判断这个整数能否被3整除。注意是两百位,想用string,肿么做?
2014年01月18日 14点01分 1
level 6
while not eoln do begin
read(c);
t:=t+ord(c)-48;
end;
2014年01月18日 14点01分 2
level 11
一个数的每一位数相加,所得的和能被3整除的话,那么这个数就可以被3整除。
(这个定理没学过?)
example:
ex_1:57;
because 5+7=12;
12 mod 3 =0;
so 57 mod 3 =0.
ex_2:183;
because 1+8+3=12;
12 mod 3 =0;
so 183 mod 3 =0.
ex_3:1826;
because 1+8+2+6=17;
17 mod 3 <>0;
so 1826 mod 3 <>0.
ex_4:1926;
because 1+9+2+6=18;
18 mod 3 =0;
so 1926 mod 3 =0.
2014年01月18日 14点01分 3
level 13
声明个ansistring
读入
用字符串遍历把所有字符加到一个longint里
longint减去字符串的大小即sizeof(ansistring) * 48
longint mod 3=0?可以:不可以
2014年01月19日 02点01分 4
200位string就够了
2014年01月19日 03点01分
回复 courage17340 :好吧
2014年01月19日 03点01分
level 10
var
s:string;
h,i:longint;
begin
readln(s);
h:=0;
for i:=1 to length(s) do
begin
h:=(ord(s[i])-48)+h;
end;
if h mod 3=0 then writeln('Good')
else writeln('Bad');
readln;readln;
end.
可以吗!?[勉强]
2014年01月19日 04点01分 5
可以
2014年01月19日 10点01分
也可以用char读入,读一个加一个,直到行结束。
2014年01月19日 10点01分
1