Math 版 (精华区)

发信人: kaola (坚决不灌水的考拉熊), 信区: Math
标  题: [合集]一个小学奥数题
发信站: 哈工大紫丁香 (2003年01月13日02:25:00 星期一), 站内信件


────────────────────────────────────────
 bage (八哥@网事如疯@痴心难动)        于 2002年08月16日19:30:27 星期五 说道:

1998个1组成的数的平方的各位数之和是多少

────────────────────────────────────────
 utah (明天去采灵芝)                  于 2002年08月16日19:58:59 星期五 说道:

1998*1998
【 在 bage (八哥@网事如疯@痴心难动) 的大作中提到: 】
: 1998个1组成的数的平方的各位数之和是多少

────────────────────────────────────────
 bage (八哥@网事如疯@痴心难动)        于 2002年08月16日20:09:57 星期五 说道:

不对:)有进位
【 在 utah (明天去采灵芝) 的大作中提到: 】
: 1998*1998
: 【 在 bage (八哥@网事如疯@痴心难动) 的大作中提到: 】
: : 1998个1组成的数的平方的各位数之和是多少

────────────────────────────────────────
 utah (明天去采灵芝)                  于 2002年08月16日20:34:13 星期五 说道:

17982?
【 在 bage (八哥@网事如疯@痴心难动) 的大作中提到: 】
: 不对:)有进位
: 【 在 utah (明天去采灵芝) 的大作中提到: 】
: : 1998*1998

────────────────────────────────────────
 RenSheng (Blue Sky)                  于 2002年08月16日21:39:43 星期五 说道:

23100?
【 在 utah (明天去采灵芝) 的大作中提到: 】
: 17982?
: 【 在 bage (八哥@网事如疯@痴心难动) 的大作中提到: 】
: : 不对:)有进位

────────────────────────────────────────
 bage (八哥@网事如疯@痴心难动)        于 2002年08月16日22:24:20 星期五 说道:

我用matlab计算的是17896不知道对不?
我把matlab的程序贴出来,大家看对不对:)
a=1:1998;
b=1997:-1:1;
c=[a b];
for n=1:3995
    if(c(n)/1000>1)
        c(n+3)=c(n+3)+floor(c(n)/1000);
        if(mod(c(n),1000)/100>1)
            c(n+2)=c(n+2)+floor(mod(c(n),1000)/100);
            if(mod(c(n),100)/10>1)
                c(n+1)=c(n+1)+floor(mod(c(n),100)/10);
            end
        end
    elseif(c(n)/100>1)
        c(n+2)=c(n+2)+floor(c(n)/100);
        if(mod(c(n),100)/10>1)
            c(n+1)=c(n+1)+floor(c(n)/10);
        end
    elseif(c(n)/10>1)
        c(n+1)=c(n+1)+floor(c(n)/10);
    end
    c(n)=mod(c(n),10);
end
summmm=sum(c);
【 在 utah (明天去采灵芝) 的大作中提到: 】
: 17982?
: 【 在 bage (八哥@网事如疯@痴心难动) 的大作中提到: 】
: : 不对:)有进位

────────────────────────────────────────
 wz (root)                            于 2002年08月17日12:33:05 星期六 说道:

1+2+3+.....+1997+1998+1997+1996+.....+3+2+1=1998*1998
【 在 bage (八哥@网事如疯@痴心难动) 的大作中提到: 】
: 1998个1组成的数的平方的各位数之和是多少

────────────────────────────────────────
 microE (启吾)                        于 Sat Aug 17 12:50:02 2002) 说道:

有进位的!!!!!!!!!!!!!!
【 在 wz (root) 的大作中提到: 】
: 1+2+3+.....+1997+1998+1997+1996+.....+3+2+1=1998*1998
: 【 在 bage (八哥@网事如疯@痴心难动) 的大作中提到: 】
: : 1998个1组成的数的平方的各位数之和是多少



────────────────────────────────────────
 utah (明天去采灵芝)                  于 2002年08月17日14:20:06 星期六 说道:

17982 programe
#include <stdio.h>
#define N 1998
int main(int argc, char* argv[])
{
    int sum = 0;
    int rMod = 0;
    int cNum = 0;
    for(int i=1;i<=N;i++)
    {
        cNum = i + rMod; 
        sum += cNum%10;
        rMod = (cNum - cNum%10)/10;
    }
    for(int j=N-1;j>0;j--)
    {
        cNum = j + rMod; 
        sum += cNum%10;
        rMod = (cNum - cNum%10)/10;
    }
    printf("%d",sum);
    return 0;
}
【 在 utah (明天去采灵芝) 的大作中提到: 】
: 17982?
: 【 在 bage (八哥@网事如疯@痴心难动) 的大作中提到: 】
: : 不对:)有进位

────────────────────────────────────────
 Systems (Systems)                    于 2002年08月17日16:58:35 星期六 说道:

//hand
【 在 utah (明天去采灵芝) 的大作中提到: 】
: 17982 programe
: #include <stdio.h>
: #define N 1998
: int main(int argc, char* argv[])
: {
:     int sum = 0;
:     int rMod = 0;
:     int cNum = 0;
:     for(int i=1;i<=N;i++)
:     {
:         cNum = i + rMod; 

────────────────────────────────────────
 bage (八哥@网事如疯@痴心难动)        于 2002年08月17日19:08:20 星期六 说道:

答案是17982,可是小学奥数题是不可能用计算机计算呀
有什么手工计算的方法么?
【 在 utah (明天去采灵芝) 的大作中提到: 】
: 17982 programe
: #include <stdio.h>
: #define N 1998
: int main(int argc, char* argv[])
: {
:     int sum = 0;
:     int rMod = 0;
:     int cNum = 0;
:     for(int i=1;i<=N;i++)
:     {
:         cNum = i + rMod; 

────────────────────────────────────────
 bage (八哥@网事如疯@痴心难动)        于 2002年08月17日19:28:08 星期六 说道:

原来的程序有些问题:)少了整十整百整千的进位,这样整个计算就乱了
这次根据utah的算法用matlab计算了一下,这次对了,大家帮忙想想
怎么样手工计算呀
a=1:1998;
b=1997:-1:1;
c=[a b];
rmod=0;
for n=1:3995
    temp=c(n)+rmod;
    c(n)=mod(temp,10);
    rmod=floor((temp-c(n))/10);
end
summmm=sum(c);
谢谢各位:)
【 在 bage (八哥@网事如疯@痴心难动) 的大作中提到: 】
: 我用matlab计算的是17896不知道对不?
: 我把matlab的程序贴出来,大家看对不对:)
: a=1:1998;
: b=1997:-1:1;
: c=[a b];
: for n=1:3995
:     if(c(n)/1000>1)
:         c(n+3)=c(n+3)+floor(c(n)/1000);
:         if(mod(c(n),1000)/100>1)
:             c(n+2)=c(n+2)+floor(mod(c(n),1000)/100);
:             if(mod(c(n),100)/10>1)

────────────────────────────────────────
 bage (八哥@网事如疯@痴心难动)        于 2002年08月17日19:48:09 星期六 说道:

我把计算后的c显示出来了,找出规律了:)
从个位开始依次为
1234567890234567890234567890……23456789(9为1998位上的数字)87654321097654321
097654321……097654321
(2+3+4+5+6+7+8+9)*1998/9+1+(9+7+6+5+4+3+2+1)*1998/9-1
=17982         
【 在 bage (八哥@网事如疯@痴心难动) 的大作中提到: 】
: 原来的程序有些问题:)少了整十整百整千的进位,这样整个计算就乱了
: 这次根据utah的算法用matlab计算了一下,这次对了,大家帮忙想想
: 怎么样手工计算呀
: a=1:1998;
: b=1997:-1:1;
: c=[a b];
: rmod=0;
: for n=1:3995
:     temp=c(n)+rmod;
:     c(n)=mod(temp,10);
:     rmod=floor((temp-c(n))/10);

────────────────────────────────────────
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.423毫秒