zoukankan      html  css  js  c++  java
  • 杭电acm 1098题

    Problem Description
    Ignatius is poor at math,he falls across a puzzle problem,so he has no choice but to appeal to Eddy. this problem describes that:f(x)=5*x^13+13*x^5+k*a*x,input a nonegative integer k(k<10000),to find the minimal nonegative integer a,make the arbitrary integer x ,65|f(x)if
    no exists that a,then print "no".

    Input
    The input contains several test cases. Each test case consists of a nonegative integer k, More details in the Sample Input.
     
    Output
    The output contains a string "no",if you can't find a,or you should output a line contains the a.More details in the Sample Output.
     
    Sample Input
    11 100 9999
     
    Sample Output
    22 no 43

     本题大意是要求对任意输入的K,找到一个最小的a,使得表达式都能整除65.

    自己的做法是在一定范围内去找,1-10000之间找到当x=1时能够整除65的,然后在这基础上让x在1-10000之间去循环整除,如果能满足所有条件那么就找到了这个最小的a。否则就输出no。程序如下,已经AC....

     1 /*******************************************************
     2 杭电acm  1098 已经AC
     3 *******************************************************/
     4 
     5 #include <iostream>
     6 #include <cmath>
     7 #define fx 5*pow(x,13)+13*pow(x,5)+k*a*x
     8 using namespace std;
     9 
    10 int main(void)
    11 {
    12     int x=1;
    13     int k;
    14     int a=1;
    15     //long int fx;
    16     int mark=1;
    17     int flag=0;
    18     while(scanf("%d",&k)!=EOF)
    19     {
    20         mark=1;
    21         flag=0;
    22         //fx=5*pow(x,13)+13*pow(x,5)+k*a*x;
    23         for(a=1;a<10000;a++)
    24         {
    25             if((18+k*a)%65==0)
    26             {
    27                 for(x=1;x<1000;x++)
    28                 {
    29                     if(fx%65==0)
    30                         continue;
    31                     else {break;mark=0;}
    32                 }
    33 
    34             }
    35             if(((18+k*a)%65==0)&&mark==1)
    36             {flag=1;break;}
    37         }
    38         if(mark&&flag)
    39         {
    40             cout<<a<<endl;
    41         }
    42         else cout<<"no"<<endl;
    43 
    44     }
    45     return 0;
    46 }
  • 相关阅读:
    golang 数据结构 优先队列(堆)
    leetcode刷题笔记5210题 球会落何处
    leetcode刷题笔记5638题 吃苹果的最大数目
    leetcode刷题笔记5637题 判断字符串的两半是否相似
    剑指 Offer 28. 对称的二叉树
    剑指 Offer 27. 二叉树的镜像
    剑指 Offer 26. 树的子结构
    剑指 Offer 25. 合并两个排序的链表
    剑指 Offer 24. 反转链表
    剑指 Offer 22. 链表中倒数第k个节点
  • 原文地址:https://www.cnblogs.com/kb342/p/3680406.html
Copyright © 2011-2022 走看看