| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 973 人关注过本帖
标题:求高次方的尾数,提交出现RUNTIME EROR怎么回事?
只看楼主 加入收藏
简安
Rank: 2
来 自:湖南长沙
等 级:论坛游民
帖 子:25
专家分:17
注 册:2010-11-26
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:11 
求高次方的尾数,提交出现RUNTIME EROR怎么回事?
题目:
Time Limit:2000MS  Memory Limit:65536K
Total Submit:360 Accepted:96
Description
求x的y次方的最后k位数。
Input
第一行包含一个整数n(1≤n≤100),表示测试用例的个数。
每个测试用例的输入有一行,整数x,y,k。其中,0<x≤1000,0≤y≤1000; 0<k≤4;
Output
对每个测试用例输出一行。输出x的y次方的最后k位数(忽略前导0)。
Sample Input
2
2 10 3
10 1000 4
Sample Output
24
0
Hint
注意:高次方的结果会超过32位二进制整数的表示范围
我的程序:
#include<stdio.h>
void main()
{
    int i,j,x,y,k,n,last=1,s=1;
    int b[10000];
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d%d %d",&x,&y,&k);
    for(j=1;j<=y;j++)
    last=last*x;
    for(j=1;j<=k;j++)
       s=s*10;
      b[i]=last%s;
    }
for(i=0;i<n;i++)
  printf("%d\n",b[i]);
}
提交时出现RUNTIME ERROR,
 是怎么回事啊?要怎么修改?
搜索更多相关主题的帖子: 二进制 
2010-12-25 22:23
马后炮
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:156
专家分:560
注 册:2010-12-17
收藏
得分:10 
int powmod( int a, int n, int k )
{
    int d = 1;
    for (a %= k; n > 0; n >>= 1)
    {
        if(n & 1)
            d = (d*a)%k;
        a = (a*a)%k;
    }
    return d;
}


用这个函数来计算a的n次方除以k的余数吧

樱之雪,晓之车
2010-12-25 22:31
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
没明白啥意思

                                         
===========深入<----------------->浅出============
2010-12-25 22:35
JZY0801
Rank: 2
等 级:论坛游民
帖 子:25
专家分:36
注 册:2010-12-23
收藏
得分:10 
# include <stdio.h>
# include <math.h>

int b[102] ;

int main()
{
    int n , x , y , k ;
    int i , j , power , a ;
    while(scanf("%d" , &n) != EOF)
    {
        i = 0 ;
        while(i < n)
        {
            scanf("%d%d%d" , &x , &y , &k) ;
            power = (int)pow(10 , k) ;
            a = x ;
            x %= power ;
            for(j = 2 ; j <= y ; j++)
            {
                x *= a ;
                x %= power ;
            }
            b[i] = x ;
            i++ ;
        }
        for(i = 0 ; i < n ; i++)
            printf("%d\n" , b[i]) ;
    }
    return 0 ;
}
2010-12-25 23:01
逐渐学习
Rank: 6Rank: 6
等 级:侠之大者
帖 子:113
专家分:454
注 册:2010-9-26
收藏
得分:0 
用你的程序输入
1
3 9 2
输出
83
没有出现错误的

帮人《---》帮己
2010-12-26 11:03
简安
Rank: 2
来 自:湖南长沙
等 级:论坛游民
帖 子:25
专家分:17
注 册:2010-11-26
收藏
得分:0 
是啊,在VC++中运行没问题,但是提交到我们做作业的网站时会出现runtimr error..
2010-12-26 22:46
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
意思是你的算法太慢,超过运行的时间限制了,楼主的英文建议再学学。这应该是ACM的题吧,有时间规定的。

   唯实惟新 至诚致志
2010-12-27 07:16
简安
Rank: 2
来 自:湖南长沙
等 级:论坛游民
帖 子:25
专家分:17
注 册:2010-11-26
收藏
得分:0 
我知道是运行时间错误,但是网上有人说是什么栈什么的错了,我还没学啊,所以就问下啦。。
    是时间限制了?那怎么修改啊?
2010-12-27 20:57
jj369258
Rank: 4
等 级:业余侠客
帖 子:116
专家分:226
注 册:2010-12-2
收藏
得分:0 
回复 楼主 简安
你是不是湖南农大的啊?怎么跟我们那个系统题目一模一样啊?这题目还在思索中!
2011-01-13 11:43
简安
Rank: 2
来 自:湖南长沙
等 级:论坛游民
帖 子:25
专家分:17
注 册:2010-11-26
收藏
得分:0 
回复 9楼 jj369258
哈哈,你也是啊?
  我就是啊,现在也在想这个题目啊。。。。啊。。。悲剧。。。
2011-01-14 20:37
快速回复:求高次方的尾数,提交出现RUNTIME EROR怎么回事?
数据加载中...
 
   



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

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