public class Java2 {
public static void main(String[] args) {
int i; //循环计数用, 是连续整数序列的起始点
int j;//记录连续整数序列的终点
int k;//循环计数用
int sum;//计算连续整数的和
for( ? ){
j=i;
sum=i ;
?
? //sum为若干个连续整数之和
if (sum==1000) { //如果恰好等 于1000,就输出i-j的整数序列
? System. out. print (k+" , ");
System. out. println() ;
}// end if
}//loop i
下面是打印输出所有和为1000的连续整数(如198、199、200、201、202)的程序,请在方框中填入正确的内容,其他语句请勿修改。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 钰娘娘 2021-11-27 11:05关注
public class Java2 { public static void main(String[] args) { int i; //循环计数用, 是连续整数序列的起始点 int j;//记录连续整数序列的终点 int k;//循环计数用 int sum;//计算连续整数的和 for(i=0;i<=1000;i++){ j=i; sum=i ; while(sum+j+1<=1000) sum+=++j; //sum为若干个连续整数之和 if (sum==1000) { //如果恰好等 于1000,就输出i-j的整数序列 for(k=i;k<=j;k++) System. out. print (k+" , "); System. out. println() ; }// end if } } }
假设不是填空,自己写建议滑动窗口:
public class Java2 { public static void main(String[] args) { int j = 0;//左边界 int sum = 0; for(int i = 0;i<=1000;i++){//右边界 sum+=i; //一定要当前的,超出的部分左侧扣减 while (sum>1000) sum-=j++; if(sum==1000){ for(int k = j; k<= i; k++){ System.out.print(k);//k和,分开更好,合起来创建了StringBuilder,创建了额外对象 System.out.print(","); } System.out.println(); } } } }
公式二分法(这个写着玩的,不建议):
public class Java2 { public static void main(String[] args) { Java2 java2 = new Java2(); for(int i = 0;i<=1000;i++){//右边界 int j = java2.binaryFind(i,1000); if(i<=j){ for(int k = i; k <= j; k++){ System.out.print(k); System.out.print(","); } System.out.println(); } } } private int binaryFind(int start,int aid){ int left =start-1; int right = aid; while(left<right){ int mid = (right-left+1)/2+left; int sum = (start+mid)*(mid-start+1); if(sum>aid*2){ right = mid-1; }else if(sum == aid*2){ return mid; }else{ left = mid; } } return -1; } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 Android Navigation: 某XDirections类不能自动生成
- ¥20 C#上传XML格式数据
- ¥15 elementui上传结合oss接口断点续传,现在只差停止上传和继续上传,各大精英看下
- ¥100 单片机hardfaulr
- ¥20 手机截图相片分辨率降低一半
- ¥50 求一段sql语句,遇到小难题了,可以50米解决
- ¥15 速求,对多种商品的购买力优化问题(用遗传算法、枚举法、粒子群算法、模拟退火算法等方法求解)
- ¥100 速求!商品购买力最优化问题(用遗传算法求解,给出python代码)
- ¥15 虚拟机检测,可以是封装好的DLL,可付费
- ¥15 kafka无法正常启动(只启动了一瞬间会然后挂了)