会free pascal 的大神帮忙看道题
在所有的N位数中,有多少个数中有偶数个数字3?样例输入:2样例输出:73提示:0个3也算偶数个3(0也是偶数^_^)由于结果可能很大,你只需要输出这个答案mod12345...
在所有的N位数中,有多少个数中有偶数个数字3?
样例输入:2
样例输出:73
提示:0个3也算偶数个3(0也是偶数 ^_^ )
由于结果可能很大,你只需要输出这个答案mod 12345的值。 展开
样例输入:2
样例输出:73
提示:0个3也算偶数个3(0也是偶数 ^_^ )
由于结果可能很大,你只需要输出这个答案mod 12345的值。 展开
1个回答
展开全部
下面的代码,简化起见,没有检验用户输入值。
program DigitSum_EvenCount;
var
digits: Integer;
l, min_num, max_num, total_count, digit_count, l_cp, last_digit : Longint;
begin
readln(digits);
max_num := 0; min_num := 0;
for l := 1 to digits do
begin
max_num := max_num * 10 + 9;
min_num := (l-1) * 10;
end;
total_count := 0;
for l := min_num to max_num do
begin
digit_count := 0;
l_cp := l;
repeat
last_digit := l_cp mod 10;
if last_digit = 3 then inc(digit_count);
l_cp := l_cp div 10;
until l_cp = 0;
if digit_count mod 2 = 0 then
begin
//write(' ', l); // <== debug
inc(total_count);
if total_count > 12345 then total_count := total_count mod 12345;
end;
end;
writeln(total_count);
end.
输出:
2
73
6
1440
如果不取mod 12345的话,
2
73
...
6
631035
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询