| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2530 人关注过本帖
标题:为什么runtime error
只看楼主 加入收藏
末日泡沫
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2015-3-1
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
为什么runtime error
为什么runtime error
集训进行了将近2个礼拜,这段时间以恢复性训练为主,我一直在密切关注大家的训练情况,目前为止,对大家的表现相当满意,首先是绝大部分队员的训练积极性很高,其次,都很遵守集训纪律,最后,老队员也起到了很好的带头作用,这里特别感谢为这次DP专题练习赛提供题目和测试数据的集训队队长xhd同学.<br><br>特别高兴的是,跟随集训队训练的一批新队员表现非常好,进步也比较显著,特别是训练态度大大超出我的预期,我敢说,如果各位能如此坚持下去,绝对前途无量!<br><br>考虑到新队员还没有经过系统训练,我这里特别添加一道简单题:<br>给定三个正整数A,B和C(A,B,C&lt;=1000000),求A^B mod C的结果.<br><br>希望各位都能体会到比赛中AC的快乐,绝对的量身定制,很高的待遇哟,哈哈...<br>


 Input

输入数据首先包含一个正整数N,表示测试实例的个数,然后是N行数据,每行包括三个正整数A,B,C。


Output

对每个测试实例请输出计算后的结果,每个实例的输出占一行。

Sample Input

 3
 2 3 4
 3 3 5
 4 4 6


 Sample Output

 0
 2
 4
#include<stdio.h>
int main()
{
    int n,i,j,k,l,w;
    scanf("%d",&n);
    int a,b,c;
    int q[200];
    for(i=0;i<n;i++)
    {
        scanf("%d%d%d",&a,&b,&c);
        q[0]=a%c;
        for(j=0;j<200;j++)
        {
            q[j+1]=(q[j]*(a%c))%c;
            if(q[j+1]==(a%c))
            break;
        }
        k=b%(j+1);
        if(k==0)
        l=j;
        if(k!=0)
        l=b%(j+1)-1;
        printf("%d\n",q[l]);
    }
}
搜索更多相关主题的帖子: 积极性 
2015-03-26 08:55
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:4 
前面的文字是废话》?

三十年河东,三十年河西,莫欺少年穷!
2015-03-26 09:33
swchvs
Rank: 2
等 级:论坛游民
威 望:2
帖 子:53
专家分:81
注 册:2015-2-21
收藏
得分:4 
没太看懂呢
2015-03-26 10:45
末日泡沫
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2015-3-1
收藏
得分:0 
回复 2楼 韶志
题目啊  是不是因为100000就一定用long long ?
2015-03-26 11:51
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:4 
有网站么?

而且为何发两遍。


[fly]存在即是合理[/fly]
2015-03-26 12:42
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9024
专家分:54030
注 册:2011-1-18
收藏
得分:4 
先赞一下二楼

楼主比较搞,你题目中是1000000,又在四楼说100000。到底是 百万,还是 十万?

“一定用long long ?”
--- 有 uint64_t 更好,没有的话,uint32_t 也能用。(C/C++没规定long long必须有64bits,所以我不说long long)
比如
程序代码:
#include <stdio.h>

// (a*b)%c
unsigned long foo1( unsigned long a, unsigned long b, unsigned long c )
{
    unsigned long p = 0;
    for( unsigned long t=a%c; b; b>>=1, t=(t+t)%c )
        if( b&1 )
            p = (p+t)%c;
    return p;
}
// (a^b)%c
unsigned long foo2( unsigned long a, unsigned long b, unsigned long c )
{
    unsigned long p = 1;
    for( unsigned long t=a%c; b; b>>=1, t=foo1(t,t,c) )
        if( b&1 )
            p = foo1(p,t,c);
    return p;
}

int main( void )
{
    unsigned long n;
    scanf( "%lu", &n );
    for( unsigned i=0; i!=n; ++i )
    {
        unsigned long a, b, c;
        scanf( "%lu%lu%lu", &a, &b, &c );
        printf( "%lu\n", foo2(a,b,c) );
    }

    return 0;
}
输入
4
2 3 4
3 3 5
4 4 6
999999 999998 999997
输出
0
2
4
591552
2015-03-26 13:06
快速回复:为什么runtime error
数据加载中...
 
   



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

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