首页 > 代码库 > Hoj_平方和与立方和

Hoj_平方和与立方和

平方和与立方和

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 93160    Accepted Submission(s): 29855


Problem Description
给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。
 

 

Input
输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。
 

 

Output
对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。
你可以认为32位整数足以保存结果。
 

 

Sample Input
1 3
2 5
 

 

Sample Output
4 28
20 152
 
 
C 语言代码
 1 #include<stdio.h> 2 int main(){ 3         int n,m,pf,lf,t; 4         while(scanf("%d %d",&n,&m)!=EOF){ 5             if(n>m) {  6                 t=n; n=m; m=t; 7                 } 8             pf=0;lf=0; 9             for(;n<=m;n++){10                 if(n%2==0) pf+=n*n;11                 else lf+=n*n*n;12             }13             printf("%d %d\n",pf,lf);14         }15 }

Java 代码

import java.util.Scanner;public class Main{    public static void main(String[] args) {        Scanner s=new Scanner(System.in);        int n,m,pf,lf,t;        while(s.hasNext()){            pf=0;lf=0;            n=s.nextInt();m=s.nextInt();            if(n>m) {                 t=n; n=m;m=t;                }            for(;n<=m;n++){                if(n%2==0) pf+=n*n;                else lf+=n*n*n;            }            System.out.format("%d %d", pf,lf).println();        }    }}

感觉仅仅考虑两点即可:

  1.是奇数还是偶数;

  2.两数的关系,要是前者大后者小交换两者数值.

虽然两者都对,但是在运行时间与内存上都在较大差异.

Writer :HRuinger

 

Hoj_平方和与立方和