美文网首页数据结构与算法
HDU 1098 Ignatius's puzzle

HDU 1098 Ignatius's puzzle

作者: itbird01 | 来源:发表于2021-11-30 07:06 被阅读0次

HDU 1098 Ignatius's puzzle

题意:中文翻译其实很简单,就是方程f(x)=5x^13+13x^5+kax;输入任意一个数k,是否存在一个数a,对任意x都能使得f(x)能被65整除。 现假设存在这个数a ,因为对于任意x方程都成立 。

解题思路

1.分析题意,针对于任意的x方程都成立,f(x)能被65整除,所以当x==1时,f(x)=18+ka
2.由于f(x)能被65整除,所以也就是说,18+ka肯定也可以被65整除
3.问题转换为,针对于k,是否存在一个a,可以使18+ka被65整除
4.但是这时去思考一个问题,a的上限是多少,我们应该for循环到什么时候,才可以认为不存在或存在呢?其实问题也很简单,18+ka既然是65的整数倍,那么a最大肯定也就是65了

解题遇到的问题

后续需要总结学习的知识点

##解法
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner mScanner = new Scanner(System.in);
        while (mScanner.hasNextInt()) {
            int k = mScanner.nextInt();
            boolean flag = false;
            for (int i = 1; i < 66; i++) {
                if ((18 + i * k) % 65 == 0) {
                    k = i;
                    flag = true;
                    break;
                }
            }
            System.out.println(flag ? k : "no");
        }
        mScanner.close();
    }
}

相关文章

网友评论

    本文标题:HDU 1098 Ignatius's puzzle

    本文链接:https://www.haomeiwen.com/subject/zailxrtx.html