Aizu Online Judge(AOJ)の過去問から、その提出コードの解答例です。
・問題 "Quaternion Multiplication"
https://onlinejudge.u-aizu.ac.jp/problems/0241
・四元数のかけ算
僕が作成、提出したコードは、以下のとおりです。
Aizu Online Judge in C++ #Volume2 : 0241 - Quaternion Multiplication
/* Aizu Online Judge in C++ #Volume2 : 0241 - Quaternion Multiplication https://onlinejudge.u-aizu.ac.jp/problems/0241 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; using ll=long long; int main(void){ ll n; while(cin>>n,n){ while(n--){ ll b,c,d,e,f,g,h,i; cin>>b>>c>>d>>e>>f>>g>>h>>i; printf("%d %d %d %d\n",b*f-c*g-d*h-e*i,b*g+c*f+d*i-e*h,b*h-c*i+d*f+e*g,b*i+c*h-d*g+e*f); } } return 0; }
設問の出典は、プログラミング問題のオンライン採点システム「Aizu Online Judge(AOJ)」です。
http://judge.u-aizu.ac.jp/onlinejudge/