akoj-1148-小光棍数
2024-08-26 15:31:32
小光棍数
Time Limit:1000MS Memory Limit:65536K
Total Submit:197 Accepted:94
Description
最近Topcoder的XD遇到了一个难题,倘若一个数的三次方的后三位是111,他把这样的数称为小光棍数。他已经知道了第一个小光棍数是471,471的三次方是104487111,现在他想知道第m(m<=10000000000)个小光棍数是多少?
Input
有多组测试数据。第一行一个整数n,表示有n组测试数据。接下来的每行有一个整数m。
Output
输出第m个小光棍数。
Sample Input
1
1
Sample Output
471
#include <stdio.h>//此题使用了同余定理 int main()
{
int n;
scanf("%d", &n);
while (n--)
{
long long m;
scanf("%lld", &m);
printf("%lld\n", 471 + 1000*(m-1));
} return 0;
}
补充同余定理:参考百度百科:点击打开链接
1定义编辑
数学上的记法为:
a≡ b(mod d)
可以看出当n<d的时候,所有的n都对d同商,比如时钟上的小时数,都小于12,所以小时数都是模12的同商.
对于同余有三种说法都是等价的,分别为:
(1) a和b是模d同余的.
(2) 存在某个整数n,使得a=b+nd .
(3) d整除a-b.
可以通过换算得出上面三个说法都是正确而且是等价的.
这里用到了第二点的性质,同时需要注意的是使用%lld做的输入输出选项可以参考博客:http://blog.csdn.net/hongxdong/article/details/5559312
最新文章
- 如何一步一步用DDD设计一个电商网站(五)—— 停下脚步,重新出发
- anaconda
- django和apache交互的wsgi分析
- idea 新建web项目
- .net开发中要注意的事项
- /run/systemd/private: No such file or directory
- 斐波那契数 c 语言实现
- SET ANSI_NULLS ON
- 容器 set
- .NET基础拾遗(6)特性
- android 传感器使用 Compass指南针的实现功能
- jni 入门 android的C编程之旅 --->;环境搭建&;&;helloworld
- php结合redis实现高并发下的抢购、秒杀功能 (转载)
- Mesos初步尝试
- Lua语言的介绍和编程语言的归类
- Anaconda安装及使用
- 关于*.ashx 处理程序调试时 未能创建类型 错误
- Haskell语言学习笔记(75)Conduit
- spark快速开发之scala基础之1 数据类型与容器
- Scala进阶之路-面向对象编程之类的成员详解