第八题

public class Task_8 {

/**
* 给你1000个0至9中的自然数,问你最大的连续5个数的乘积是多少。
* @param args
*/
public static void main(String[] args) {
String string = "78641346984696467976446749865164446456496346494643" +
"36949320646022406404620404645020734712143061656962" +
"00540435405342141748757570275096324026027206727576" +
"40895220479757419497576076647165100975190715155150" +
"78794661300446543257354542895423439245996456542456" +
"01937412956386554618954109312534710423854235483843" +
"12843091764586536547354381961319842573498136282736" +
"21416234987903092734625094571423409204701455401461" +
"14109209712632190340123421542957163789231236734789" +
"10273801910572319463785432984536541947865619349681" +
"12347080129341892634195327534896198431278587348192" +
"98646579969699967991996119669169217120766207269071" +
"41025882510152897241098880740188188574788985275652" +
"87913656301809067026840312496789316579886146578956" +
"12431243256327789098764780980920568079450942398354" +
"47932145689591048302913482653428395732627854345638" +
"97841924316243198127854762787847537824537845388375" +
"45646316579617975461313104061384961331109998465176" +
"97164597989816146094889464615100640647898409896416" +
"87646066431134698910489804564984649898042143792432";
int[] nums = stringToIntArray(string);
char[] nums2 = string.toCharArray();
int maxProduct = 1;
/* for(int i = 0;i<nums.length-5;i ++){
if(nums[i]*nums[i+1]*nums[i+2]*nums[i+3]*nums[i+4] >= maxProduct){
maxProduct = nums[i]*nums[i+1]*nums[i+2]*nums[i+3]*nums[i+4];
}
}*/
for(int i = 0;i<nums2.length-5;i ++){
if((nums2[i]-'0')*(nums2[i+1]-'0')*(nums2[i+2]-'0')*(nums2[i+3]-'0')*(nums2[i+4]-'0') >= maxProduct){
maxProduct = (nums2[i]-'0')*(nums2[i+1]-'0')*(nums2[i+2]-'0')*(nums2[i+3]-'0')*(nums2[i+4]-'0');
}
}
System.out.println(maxProduct);
}

public static int[] stringToIntArray(String string){
int[] nums;
nums = new int[string.length()];

for(int i=0;i < string.length();i++){
nums[i] = Integer.parseInt(string.substring(i, i+1));
}
return nums;
}
}
北航数值分析大作业第八要求使用Fortran编程语言来完成。Fortran是一种高级编程语言,广泛用于科学和工程计算。对于这道目,我们可以首先确定输入和输出的要求,然后设计相应的算法和程序。 根据目要求,我们需要编写一个Fortran程序来求解一个方程的根。首先,我们需要理解方程的形式以及给定的初始近似解。接下来,我们可以使用牛顿迭代法来求解方程的根。牛顿迭代法是一种数值解法,通过不断迭代逼近实际解。 在Fortran中,我们可以定义一个主程序,用于输入方程的参数和初始近似解。然后,我们可以编写一个子程序来实现牛顿迭代法。在该子程序中,我们可以使用循环和条件语句来进行迭代计算,直到满足设定的收敛条件。最后,我们可以输出方程的根作为结果。 在编写代码时,我们需要注意变量的声明和初始化,以及循环的控制和边界条件的判断。此外,为了提高代码的可读性和可维护性,我们可以使用合适的注释和命名规范。 在完成代码编写后,我们可以进行测试和调试,以确保程序的正确性和稳定性。如果发现错误或遇到困难,可以通过查阅资料、请教同学或咨询老师来解决问。 总之,北航数值分析大作业第八要求使用Fortran编写一个求解方程根的程序。通过理解目要求、设计算法和编写代码,我们可以完成这道目,并验证程序的正确性。通过这个过程,我们可以提高对数值分析和编程的理解和应用能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值