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位整数足以保存结果。
你可以认为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.两数的关系,要是前者大后者小交换两者数值.
虽然两者都对,但是在运行时间与内存上都在较大差异.