K尾相等数

时间限制:3000 ms  |  内存限制:65535 KB
难度:1
 
描述
输入一个自然数K(K>1),如果存在自然数M和N(M>N),使得K^M和K^N均大于等于1000,且他们的末尾三位数相等,则称M和N是一对“K尾相等数”。下面请编程求出M+N最小的K尾相等数。

 
输入
第一行包含一个正整数T,T<10000,表示有T组数据; 随后有N行,每行包括一个整数K(K<2*10^10);
输出
对于输入的每个整数K,输出对应的M+N的最小值;
样例输入
1
2
样例输出
120
来源
POJ
上传者
王冲5213
解题思路:每次相乘后都取余,以余数为索引将指数存到数组中,若余数相同的存在,则直接返回当前指数与对应数组元素的和。经典题。
(之前的想法是新得到的数再与前面的逐一比较,比较麻烦比较费时,参考别人的做法,是直接以得到的数为下标存入数组,再与之比较的时候直接就比较了,省时省事)
代码如下:
#include <stdio.h>
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        int s[1010]={0};
        int i,j,k,t,m;
        scanf("%d",&k);
        t=1;m=0;
        while(t<1000)
        {
            t*=k;
            m++;
        }
        t=t%1000;
        s[t]=m;
        k=k%1000;
        while(1)
        {
            t*=k;
            t=t%1000;
            m++;
            if(s[t])
            {
                printf("%d\n",m+s[t]);
                break;
            }
            else
            s[t]=m;
        }
    }
    return 0;
}
 #include <stdio.h>
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int s[]={};
int i,j,k,t,m;
scanf("%d",&k);
t=;m=;
while(t<)
{
t*=k;
m++;
}
t=t%;
s[t]=m;
k=k%;
while()
{
t*=k;
t=t%;
m++;
if(s[t])
{
printf("%d\n",m+s[t]);
break;
}
else
s[t]=m;
}
}
return ;
}

nyoj_212_K尾相等数_210402272239的更多相关文章

  1. K尾相等数(模运算)

    Description 从键盘输入一个自然数K(K>1),若存在自然数M和N(M>N),使得K^M^和K^N^均大于或等于1000,且他们的末尾三位数相等,则称M和N是一对"K尾 ...

  2. 1076 K尾相等数

    时间限制:500MS  内存限制:65536K提交次数:251 通过次数:80 题型: 编程题   语言: C++;C Description 从键盘输入一个自然数K(99999999>K> ...

  3. nyoj212-k尾相等数

    212-K尾相等数 内存限制:64MB时间限制:3000msSpecial Judge: No accepted:0submit:0 题目描述: 输入一个自然数K(K>1),如果存在自然数M和N ...

  4. SCAU-1076 K尾相等数

    代码借鉴SCAU-OJ(感谢!!) 题目:1076 K尾相等数 时间限制:500MS  内存限制:65536K提交次数:251 通过次数:80 题型: 编程题   语言: G++;GCC   Desc ...

  5. Linux上如何查看物理CPU个数,核数,线程数

    首先,看看什么是超线程概念 超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的 ...

  6. 微信小程序中利用时间选择器和js无计算实现定时器(将字符串或秒数转换成倒计时)

    转载注明出处 改成了一个单独的js文件,并修改代码增加了通用性,点击这里查看 今天写小程序,有一个需求就是用户选择时间,然后我这边就要开始倒计时. 因为小程序的限制,所以直接选用时间选择器作为选择定时 ...

  7. 数塔问题(DP算法)自底向上计算最大值

    Input 输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N <= 100),表示数塔的高度,接下来用N行数字表示数塔,其中第i行有个i个整数 ...

  8. 统计iOS项目的总代码行数的方法

    打开终端, 用cd命令 定位到工程所在的目录,然后调用以下命名即可把每个源代码文件行数及总数统计出来: find . "(" -name "*.m" -or - ...

  9. 数百个 HTML5 例子学习 HT 图形组件 – 3D建模篇

    http://www.hightopo.com/demo/pipeline/index.html <数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇>里提到 HT 很 ...

随机推荐

  1. Coursera Algorithms Programming Assignment 5: Kd-Trees (98分)

    题目地址:http://coursera.cs.princeton.edu/algs4/assignments/kdtree.html 分析: Brute-force implementation. ...

  2. JS 正则查找与替换

    JS正则查找与替换 一.前提/背景 今天遇到个问题,需要替换字符串中部分字符,这些字符相对整个字符串而言,与其他子字符串类似,无法单独提出:重要的是,该字符串是动态的生成的,就像我们日常看到的网页Ur ...

  3. 最大正方形 同luogu1387

    这道题下面这么写就够了(n<=100)暴力,枚举 #include<bits/stdc++.h> #define ULL unsigned long long #define MAX ...

  4. Nginx 配置https请求

    通过阿里云生成指定的https证书文件xxxx.key 和 xxxx.pem文件 在阿里云上申请的https证书的是pem格式,转成cer 先在终端cd到文件目录下 然后 openssl x509 - ...

  5. ACM_变形课(并查集)

    变形课 Time Limit: 2000/1000ms (Java/Others) Problem Description: 呃......变形课上Harry碰到了一点小麻烦,因为他并不像Hermio ...

  6. UNIX环境高级编程--5

    标准I/O库流和FILE对象:    所有I/O函数都是围绕文件描述符的.当打开一个文件时,即返回一个文件描述符,然后该文件描述符就用于后续的I/O操作.当用标准I/O库打开或者创建一个文件时,我们已 ...

  7. cocos2d-x 不规则碰撞检测 【转载】

    原文:http://www.2cto.com/kf/201401/272331.html //判断有没有点到有材质的部分, p_point相对, CCSprite坐标  (p_point是相对 Spr ...

  8. MySQL主从备份配置

    MySQL主从热备配置 两台服务器的MySQL版本都是5.5.41master:192.168.3.119slave:192.168.3.120 MySQL主服务器配置:1.创建用于备份的用户 gra ...

  9. graphite 绘图工具

    graphite 绘图工具

  10. 大白_uva10795_新汉诺塔

    题意:给出所有盘子的初态和终态,问最少多少步能从初态走到终态,其余规则和老汉诺塔一样. 思路: 若要把当前最大的盘子m从1移动到3,那么首先必须把剩下的所有盘子1~m-1放到2上,然后把m放到3上. ...