题目出现需要输入多组数据时,需要使用一下代码**`while(in.hasNext())`

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

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

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

当题目出现需要输入多组数据时,需要使用一下代码while(in.hasNext())

public class Main {
	public static void main(String[] args) {
		
		int res=0,res1=0;
		Scanner in=new Scanner (System.in);
		while(in.hasNext()){
			int a=in.nextInt();
			int s=in.nextInt();
			for(int i=a;i<=s;i++){
				if(i%2==0){
					res+=i*i;
				}
				
				else{
					res1+=i*i*i;
				}
					
			}
			
			System.out.println(res+" "+res1);
			res=0;
			res1=0;
		}
		
		
		
		
	}

}
### PTA平台上的斐波那契数列多组数据编程实现 在解决PTA平台上涉及斐波那契数列的多组数据处理问题,可以采用循环读取每组数据并分别计算其对应的斐波那契数值的方式。以下是基于不同需求的具体实现方案。 #### 方法一:数组实现前n项斐波那契数 如果题目要求输出前n项斐波那契数,则可以通过动态规划的思想利用数组存储中间结果来提高效率[^3]。下面是一个Python版本的例子: ```python def fibonacci_sequence(n): fib = [1, 1] for i in range(2, n): fib.append(fib[i-1] + fib[i-2]) return fib[:n] if __name__ == "__main__": n = int(input()) result = fibonacci_sequence(n) print(' '.join(map(str, result))) ```代码适用于输入单个`n`值的情况,并按照指定格式打印出前n项斐波那契数[^3]。 #### 方法二:递归方式求解特定位置的斐波那契数 当只需要获取某一项具体的斐波那契数值而非整个序列,可考虑使用递归来解决问题。然而需要注意的是,对于较大的索引值,这种方法可能会导致性能瓶颈甚至栈溢出错误[^2]。因此,在实际应用中通常会优化算法或者改用迭代法替代纯递归形式。 ```java public class Main { public static long fibonacci(long n){ if (n <= 1) return n; else return fibonacci(n-1) + fibonacci(n-2); } public static void main(String[] args) throws Exception{ Scanner scanner=new Scanner(System.in); while(scanner.hasNext()){ System.out.println(Main.fibonacci(Long.parseLong(scanner.nextLine()))); } } } ``` 上述Java程序展示了如何通过标准输入流连续接收多个测试案例直至结束符到达为止,并逐一返回它们各自对应的结果[^2]。 #### 方法三:高效的大规模查询——模运算技巧 考虑到某些场景下可能存在极端情况下的大数据量请求,此应当采取适当措施防止整型越界以及提升执行速度。例如可以在每次累加操作之后立即对目标大质数取余从而保持变量范围可控的同保留原有规律特性不变[^4]。 ```c++ #include <bits/stdc++.h> using namespace std; const int MOD=1e9+7; long long fast_fibo(int n){ vector<long long> dp={0ll,1ll}; for(auto i=2;i<=n;++i){ dp.push_back((dp[i-1]+dp[i-2])%MOD); } return dp[n]; } int main(){ ios::sync_with_stdio(false); cin.tie(NULL); int t,n; cin>>t; while(t--){ cin>>n; cout<<fast_fibo(n)<<'\n'; } return 0; } ``` 这段C++源码片段实现了快速批量解答任意数量询问的功能,其中运用了预先设定好的常量`MOD`来进行必要的约束调整以适应更广泛的参数区间[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值