【程序13】
题目:一个整数,它加上100后是一个完全平方数,加上168又是一个完全平方数,请问该数是多少?
1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
- public class test {
- public static void main (String[]args){
- long k=0;
- for(k=1;k<=100000l;k++)
- if(Math.floor(Math.sqrt(k+100))==Math.sqrt(k+100) &&
- Math.floor(Math.sqrt(k+168))==Math.sqrt(k+168))
- System.out.println(k);
- }
- }
public class test { public static void main (String[]args){ long k=0; for(k=1;k<=100000l;k++) if(Math.floor(Math.sqrt(k+100))==Math.sqrt(k+100) && Math.floor(Math.sqrt(k+168))==Math.sqrt(k+168)) System.out.println(k); } }
【程序14】题目:输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天
- import java.util.*;
- public class test {
- public static void main (String[]args){
- int day=0;
- int month=0;
- int year=0;
- int sum=0;
- int leap;
- System.out.print("请输入年,月,日\n");
- Scanner input = new Scanner(System.in);
- year=input.nextInt();
- month=input.nextInt();
- day=input.nextInt();
- switch(month) {
- case 1:sum=0;break;
- case 2:sum=31;break;
- case 3:sum=59;break;
- case 4:sum=90;break;
- case 5:sum=120;break;
- case 6:sum=151;break;
- case 7:sum=181;break;
- case 8:sum=212;break;
- case 9:sum=243;break;
- case 10:sum=273;break;
- case 11:sum=304;break;
- case 12:sum=334;break;
- default:System.out.println("data error");break;
- }
- sum=sum+day;
- if(year@0==0||(year%4==0&&year0!=0))
- leap=1;
- else
- leap=0;
- if(leap==1 && month>2)
- sum++;
- System.out.println("It is the the day:"+sum);
- }
- }
import java.util.*; public class test { public static void main (String[]args){ int day=0; int month=0; int year=0; int sum=0; int leap; System.out.print("请输入年,月,日\n"); Scanner input = new Scanner(System.in); year=input.nextInt(); month=input.nextInt(); day=input.nextInt(); switch(month) { case 1:sum=0;break; case 2:sum=31;break; case 3:sum=59;break; case 4:sum=90;break; case 5:sum=120;break; case 6:sum=151;break; case 7:sum=181;break; case 8:sum=212;break; case 9:sum=243;break; case 10:sum=273;break; case 11:sum=304;break; case 12:sum=334;break; default:System.out.println("data error");break; } sum=sum+day; if(year@0==0||(year%4==0&&year0!=0)) leap=1; else leap=0; if(leap==1 && month>2) sum++; System.out.println("It is the the day:"+sum); } }