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

      题目要求 x^2 + y^2+ z^2 = N,把 1^2 到 100^2 的平方数保留一份,并且标记一份,后面就使用两重循环就可以了。

      代码如下:

    #include <cstring>
    #include <cstdlib>
    #include <cstdio>
    using namespace std;
    
    char hash[100005][2];
    
    int rec[105];
    
    int main()
    {
    	for( int i= 1; i<= 100; ++i )
    	{
    		rec[i]= i* i;
    		hash[rec[i]][0]= 1;
    		hash[rec[i]][1]= i;
    	}
    	int N;
    	while( scanf( "%d", &N )!= EOF )
    	{
    		int flag= 0;
    		for( int i= 1; !flag&& i<= 100; ++i )
    		{
    			for( int j= 1; !flag&& rec[i]+ rec[j]< N; ++j )
    			{
    				int t= N- rec[i]- rec[j];
    				if( hash[t][0] )
    				{
    					printf( "%d %d %d\n", i, j, hash[t][1] );
    					flag= 1;
    				}
    			}
    		}
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    mysql热备脚本
    linux系统编程-进程
    15-模块
    14-面向对象3
    13-面向对象2
    12-面向对象1
    02-对比两个文件的差异
    11-面向对象基础
    08-不定长函数
    07-缺省参数
  • 原文地址:https://www.cnblogs.com/Lyush/p/2139889.html
Copyright © 2011-2022 走看看