zoukankan      html  css  js  c++  java
  • SCAU K尾相等数

    1076 K尾相等数

    时间限制:500MS  内存限制:65536K 提交次数:152 通过次数:50

    题型: 编程题   语言: 无限制

    Description

    从键盘输入一个自然数K(99999999>K>1),若存在自然数M和N(M>N),使得K的M次方和K的N次方均大于或等于1000,
    且它们的未尾三位数相等,则称M和N是一对“K尾相等数”。请编程序,输出K尾相等数中M+N最小值。

    Sample Input

    2

    Sample Output

    120

    Provider

    admin

     

    #include<stdio.h>
    #include<string.h>
    typedef struct data{
        int tail;
        int locat;
    }data;
    
    data times[1000];
    
    int main()
    {
        int k, m, powern = 1, n = 0, i, j, multial;
        for(i=0; i<1000; ++i)
        {
            times[i].tail = 0;
            times[i].locat = 0;
        }
        scanf("%d", &k);
        while(powern<1000) {powern = powern*k; n++;}
        multial = powern%1000;
        times[multial].tail = 1;
        times[multial].locat = n;
        for(i=1; i<=1000; ++i)
        {
            multial = (k%1000 * multial)%1000;
            n++;
            if(times[multial].tail)
            {
                m = n+times[multial].locat;
                break;
            }
            else
            {
                times[multial].tail = 1;
                times[multial].locat = n;
                
            }
        }
        printf("%d\n", m);
        return 0;
    }

    结题报告:
    说实话,从一开学就有要动编程进阶题目的冲动的,但每次看到这些题目总是一直怀疑自己肯定不会做,每次都是将题目看了一遍然后就忘了,过几天不小心又看到这题目又认真的查看了一下,林林总总过了一大半的学期了,今天提及这题时,知道了抽屉原理,然后自己学了数据结构,基本上都能建立自定义类型结构, 十分钟后就就出现了上面的代码了。

  • 相关阅读:
    172. Factorial Trailing Zeroes
    96. Unique Binary Search Trees
    95. Unique Binary Search Trees II
    91. Decode Ways
    LeetCode 328 奇偶链表
    LeetCode 72 编辑距离
    LeetCode 226 翻转二叉树
    LeetCode 79单词搜索
    LeetCode 198 打家劫舍
    LeetCode 504 七进制数
  • 原文地址:https://www.cnblogs.com/liaoguifa/p/2753344.html
Copyright © 2011-2022 走看看