NYOJ-102-次方求模
来源:互联网 发布:淘宝业务员提成怎么算 编辑:程序博客网 时间:2024/04/29 22:51
次方求模
- 描述
求a的b次方对c取余的值
- 输入
- 第一行输入一个整数n表示测试数据的组数(n<100)
每组测试只有一行,其中有三个正整数a,b,c(1=<a,b,c<=1000000000) - 输出
- 输出a的b次方对c取余之后的结果
- 样例输入
32 3 53 100 1011 12345 12345
- 样例输出
3110481
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=102
参考:
Long Long、__int64使用总结
前言:
在16位环境下,int/unsigned int 占16位,long/unsigned long占32位
在32位环境下,int占32位,unsigned int占16位,long/unsigned long占32位
何时需要使用:
long 和 int 范围是[-2^31,2^31),即-2147483648~2147483647,而unsigned范围是[0,2^32),即0~4294967295,所以常规的32位整数只能够处理40亿左右,当遇到比40亿大的多的数就要用到64位。
64位使用范围:
不同的编译器对64位整数的扩展有所不同,VC使用__int64/unsigned __int64,范围是[-2^63, 2^63)和[0,2^64),即-9223372036854775808~9223372036854775807与 0~18446744073709551615(约1800亿亿)。
注意点:
1、编译器不同导致使用64位的申明方式不同;
2、long long / unsigned long long 一般是Linux下申明方式、如:G++
3、__int64 /unsigned __int64一般是Windows下使用64位的申明方式,如:VS
4、在赋值时需要注意加上ll进行显式赋值;
5、当进行64位与 32位的混合运算时,32位整数会被隐式转换成64位整数。
6、输出printf("");,long long使用%lld输出,__int64使用%I64d,无符号使用u替代d即可。
7、测试下来编译器一般都支持2种操作,不必太过纠结,怎么使用看个人喜欢。
//=================================华丽的分隔线========================================
#include <stdio.h>
#include <stdlib.h>
intmain(){
unsigned long longa= 412432424000ll;
unsigned __int64b= 9223372036854775808ll;
printf("%I64u\n",a); //使用%lld时无法正常输出,why? 解答在附
printf("%I64u",b);
system("pause");
return 0;
}
附网友测试结果:
刚实验了下,在VC6、DEV、CodeBlocks中C语言都可以使用__int64,格式化输出标识为%I64d。不过在VC6中数字后加2个L是会报错,可以只加1个或不加。查了下资料,__int64是windows专用的,被vc、gcc等编译器支持,但在在UNIX、Linux中需用long long配合%lld。后者是标准C的规定!
我试了下long long配合%I64d,可以正确输出,而不管是long long还是__int64配合%lld都不能正确输出。所以我得出的结论是在windows下需要用longlong或,__int64配合%64d。而在UNIX、Linux中必须使用标准C规定的long long配合%lld。
记。
解答:
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
int b,c;
long long a,s=1;
scanf("%lld%d%d",&a,&b,&c);
while(b>0)
{
if(b%2==1)
s=s*a%c;
a=a*a%c;
b/=2;
}
printf("%lld\n",s);
}
return 0;
}
- NYOJ-102:次方求模
- nyoj-102-次方求模
- NYOJ-102-次方求模
- NYOJ 102 次方求模
- NYOJ 102 次方求模
- nyoj 102 次方求模
- Nyoj 102 次方求模
- NYOJ 102 次方求模
- NYOJ 102 次方求模
- nyoj-102-次方求模
- NYOJ--102--次方求模
- NYOJ-102-次方求模
- NYOJ 次方求模102
- NYOJ - 次方求模
- NYOJ-次方求模
- nyoj 次方求模
- NYOJ 次方求模
- 次方求模 NYOJ
- 換行符造成的BASE64圖片無法顯示問題
- c语言中函数指针的用法和技巧
- CPIM
- log4j配置文件的加载问题
- QT 框架中快速应用OpenCV 基于视频播放
- NYOJ-102-次方求模
- 一道笔试题,加密解密的
- 动静态链接
- JBoss 系列六十三:JBoss 7/WildFly 集群之 Java Persistence API (JPA) - II(Hibernate查询缓存和二级缓存示例)
- 易學原理總論6-6
- big endian 和 little endian 个人理解
- axure教程 动态面板的用途
- mybatis与spring整合(基于配置文件)
- Jackson、JSON-lib、Gson性能对比