会free pascal 的大神帮忙看道题

在所有的N位数中,有多少个数中有偶数个数字3?样例输入:2样例输出:73提示:0个3也算偶数个3(0也是偶数^_^)由于结果可能很大,你只需要输出这个答案mod12345... 在所有的N位数中,有多少个数中有偶数个数字3?
样例输入:2
样例输出:73

提示:0个3也算偶数个3(0也是偶数 ^_^ )
由于结果可能很大,你只需要输出这个答案mod 12345的值。
展开
 我来答
splashchaos
2014-12-19 · TA获得超过1.1万个赞
知道大有可为答主
回答量:3342
采纳率:0%
帮助的人:3675万
展开全部

下面的代码,简化起见,没有检验用户输入值。

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


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式