| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 428 人关注过本帖
标题:疑似数据溢出问题
只看楼主 加入收藏
我勒个去
Rank: 2
等 级:论坛游民
帖 子:21
专家分:20
注 册:2012-3-14
结帖率:83.33%
收藏
已结贴  问题点数:18 回复次数:4 
疑似数据溢出问题
#include<stdio.h>
void main()
{
    long long i,x,y;
    long long last=1;    /*变量last保存求X的Y次方过程中的部分乘积的后6位*/
    printf("Input X:");
    scanf("%ld**%ld",&x);
    for(i=1;i<=x;i++)                /*X自乘Y次*/
        last=last*x%1000000;/*将last乘X后对1000000取模,即求积的后6位*/
    printf("%ld\n",last);
    printf("The last 6 digits of %ld** is:%d\\n",x,last%1000000); /*打印结果*/
}
当少个0是可以求末尾4位,多个0就为负的了,这是咋回事啊?(如:x=109376)
搜索更多相关主题的帖子: long 
2012-05-03 22:44
xuzejia_love
Rank: 2
等 级:论坛游民
帖 子:41
专家分:49
注 册:2010-12-5
收藏
得分:13 
这源代码真心看不懂

学的是语法,要的是算法。
2012-05-03 23:52
xuzejia_love
Rank: 2
等 级:论坛游民
帖 子:41
专家分:49
注 册:2010-12-5
收藏
得分:0 
能不能说一下这程序是什么目的?

学的是语法,要的是算法。
2012-05-03 23:55
我勒个去
Rank: 2
等 级:论坛游民
帖 子:21
专家分:20
注 册:2012-3-14
收藏
得分:0 
程序的目的:如果x是几位数,则求x的x次方后的结果的最后几位数!
2012-05-04 00:11
xuzejia_love
Rank: 2
等 级:论坛游民
帖 子:41
专家分:49
注 册:2010-12-5
收藏
得分:0 
程序代码:
#include<stdio.h>
/*如果我没猜错的话,你是想让x自乘y次之后,自乘结果的后6位*/
int main()
{
    long i,x,y;
    long last=1;                    /*变量last保存求X的Y次方过程中的部分乘积的后6位*/
    printf("Input X:");
    scanf("%ld",&x);
    printf("Please input the times of squaring you want:");
    scanf("%ld",&y);
    for(i=1;i<=y;i++)                /*X自乘Y次*/
        last=last*x%1000000;        /*将last乘X后对1000000取模,即求积的后6位*/
    printf("%ld\n",last);
    printf("The last 6 digits of the squaring of %ld, which is in %ld times, is:%d\n",x,y,last%1000000); /*打印结果*/
    return 1;
}


好久没上论坛了,今天突然看到这贴结了,先前只是扫过而已,还没回答问题就拿到了分,感觉惭愧。今天想了一下,然后做了点修改,你看一下这样行不?

学的是语法,要的是算法。
2012-05-18 09:04
快速回复:疑似数据溢出问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012665 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved