m.4.r.m
پنج شنبه 13 آبان 1400, 17:02 عصر
سلام دوستان یه برنامه خواستن با عنوان فرص کنید می خوایم چند تا شیرینی را در بین چند نفر تقسیم کنیم. (می دانیم n بر m بخش پذیر نیست) فکر کنم تقسیم چند جمله ای باشه اگر کسی کدش رو داره برام بفرسته بی نهایت سپاس
m.4.r.m
یک شنبه 16 آبان 1400, 21:08 عصر
خودم نوشتم
کسی خواست استفاده کنه
#include <bits/stdc++.h>
using namespace std;
void candies(int n, int k)
{
int count = 0;
int ind = 1;
int arr[k];
memset(arr, 0, sizeof(arr));
while (n) {
int f1 = (ind - 1) * k;
int f2 = ind * k;
int sum1 = (f1 * (f1 + 1)) / 2;
int sum2 = (f2 * (f2 + 1)) / 2;
int res = sum2 - sum1;
if (res <= n) {
count++;
n -= res;
ind++;
}
else
{
int i = 0;
int term = ((ind - 1) * k) + 1;
while (n > 0) {
if (term <= n) {
arr[i++] = term;
n -= term;
term++;
}
else
{
arr[i++] = n;
n = 0;
}
}
}
}
for (int i = 0; i < k; i++)
arr[i] += (count * (i + 1))
+ (k * (count * (count - 1)) / 2);
for (int i = 0; i < k; i++)
cout << arr[i] << " ";
}
int main()
{
int n = 10, k = 3;
candies(n, k);
return 0;
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.