টাস্কের জন্য কোড গল্ফে আমার প্রথম প্রয়াসে "পরবর্তী সংখ্যাগুলি বিয়োগ করুন" আমি ফাংশন থেকে শুরু করেছি (58 বাইট)
int f(int N, int P){int F;for(F=N;P;F-=++N,P--);return F;}
তারপরে ল্যাম্বদাতে স্থানান্তরিতকরণ এবং প্রারম্ভিককরণের মধ্য দিয়ে for
(53) নিরাপদ 5 বাইট
[](int N,int P){int F=N;for(;P;F-=++N,P--);return F;}
এবং অবশেষে থেকে স্যুইচ for
করার পরে while
আমি পেয়েছি 51 বাইট:
[](int N,int P){int F=N;while(P--)F-=++N;return F;}
নিরবচ্ছিন্ন পরীক্ষার কোডটি এরকম কিছু:
#include <iostream>
int main(void)
{
int N, P;
std::cin >> N >> P;
auto f = [](int N,int P)
{
int F = N;
while (P--)
F -= ++N;
return F;
};
std::cout << f(N, P) << std::endl;
return 0;
}
হালনাগাদ:
প্রকৃতপক্ষে for
একই দৈর্ঘ্যে পৌঁছাতে পারে while
:
[](int N,int P){int F=N;for(;P--;F-=++N);return F;}