zoukankan      html  css  js  c++  java
  • HDU 1407 测试你是否和LTC水平一样高

    Problem Description
    大家提到LTC都佩服的不行,不过,如果竞赛只有这一个题目,我敢保证你和他绝对在一个水平线上! 你的任务是: 计算方程x^2+y^2+z^2= num的一个正整数解。
     
    Input
    输入数据包含多个测试实例,每个实例占一行,仅仅包含一个小于等于10000的正整数num。
     
    Output
    对于每组测试数据,请按照x,y,z递增的顺序输出它的一个最小正整数解,每个实例的输出占一行,题目保证所有测试数据都有解。
     
    Sample Input
    3
     
    Sample Output
    1 1 1
     
    Author
    lcy

    题意:略。

    分析:题目有两个地方将问题简化了,只求正整数解,并且只求一个就可以了。巧妙的方法没想到,就是三重循环,不过可以控制一下循环的的次数,循环下限是1,循环上限是num的平方根,详见代码。

    AC源代码(C语言):

     1 #include<stdio.h>
     2 #include<math.h>
     3 
     4 int main()
     5 {
     6     int num,x,y,z;
     7     double s;
     8     loop:while(scanf("%d",&num)==1)
     9     {
    10         s=sqrt((double)num);
    11         for(x=1;x<s;x++)
    12             for(y=1;y<s;y++)
    13                 for(z=1;z<s;z++)
    14                     if(x*x+y*y+z*z==num)
    15                        {
    16                            printf("%d %d %d\n",x,y,z);
    17                            goto loop;
    18                        }
    19                     else continue;
    20     }
    21     return 0;
    22 }

    2013-05-09

  • 相关阅读:
    188. Best Time to Buy and Sell Stock IV
    452. Minimum Number of Arrows to Burst Balloons
    435. Non-overlapping Intervals
    28. Implement strStr() KMP
    10. Regular Expression Matching
    877. Stone Game
    格式化日期
    Designer属性编辑器简介
    pandas 根据内容匹配并获取索引
    access 中sql语句之“like” 语句的用法
  • 原文地址:https://www.cnblogs.com/fjutacm/p/3068976.html
Copyright © 2011-2022 走看看