列表

详情


NC200573. Sequence

描述

一个无限数列,满足,已知a_1,a_2,求a_k

输入描述

第一行是一个整数,表示样例的个数。
每个样例是三个整数,为

输出描述

依次输出每个样例的结果,为一个整数。

示例1

输入:

2
2 3 3
2 3 2

输出:

1
3

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++14(g++5.4) 解法, 执行用时: 36ms, 内存消耗: 612K, 提交时间: 2019-12-28 20:30:42

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		int a[10],k;
		cin>>a[1]>>a[2]>>k;
		a[3]=a[2]-a[1];
		a[4]=-a[1];
		a[5]=-a[2];
		a[0]=a[1]-a[2];
		k=k%6;
		cout<<a[k]<<endl;
	}
 	return 0;
}

C(clang11) 解法, 执行用时: 8ms, 内存消耗: 320K, 提交时间: 2021-02-01 14:43:34

#include<stdio.h>
#include<math.h>
int main()
{
    int t,a[3],k,q;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d%d%d",&a[0],&a[1],&k);
		a[2]=a[1]-a[0];
		q=pow(-1,(k-1)/3);
		printf("%d\n",a[(k-1)%3]*q);
	}
	return 0;
}

C++11(clang++ 3.9) 解法, 执行用时: 11ms, 内存消耗: 492K, 提交时间: 2019-12-28 20:42:24

#include<stdio.h>

int main()
{
int t,c;
long long int l,b,a[7];
scanf("%d",&t);
while(t--){
scanf("%lld%lld%d",&l,&b,&c);
a[1]=l;a[2]=b;a[3]=b-l;
a[4]=-l;a[5]=-b;a[0]=l-b;
printf("%lld\n",a[c%6]);
}
    return 0;
}

Python3(3.5.2) 解法, 执行用时: 130ms, 内存消耗: 3676K, 提交时间: 2019-12-28 18:30:55

t = int(input())
while t > 0:
    t -= 1
    x, y, k = map(int, input().split())
    k -= 1
    a = [ x, y, y - x, -x, -y, x - y ]
    print(a[k % 6])

上一题