K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

17 tháng 11 2023

"quy tắc" còn viết sai chính tả là "qui tắc" nữa.

17 tháng 11 2023

mình lấy từ vnoi ra

13 tháng 10 2021

T cũng hỏi mà méo ai trả lời

 

17 tháng 11 2023

Quy tắc còn viết là qui tắc

Bài CANDY - Chia kẹo An là anh cả trong gia đình với K đứa em nhỏ. Là một người rất có trách nhiệm, luôn thương yêu các em của mình nên An luôn cố gắng làm những gì tốt nhất cho các em. Một hôm, đi công tác xa về, biết các em mình đều rất thích ăn kẹo, An ghé qua cửa hàng bánh kẹo Hải Hà lớn nhất thủ đô, chọn mua một gói kẹo ngon nhất trong phạm vi túi tiền mình có. Gói kẹo An mua có N cái kẹo và An dự định sẽ...
Đọc tiếp

Bài CANDY - Chia kẹo An là anh cả trong gia đình với K đứa em nhỏ. Là một người rất có trách nhiệm, luôn thương yêu các em của mình nên An luôn cố gắng làm những gì tốt nhất cho các em. Một hôm, đi công tác xa về, biết các em mình đều rất thích ăn kẹo, An ghé qua cửa hàng bánh kẹo Hải Hà lớn nhất thủ đô, chọn mua một gói kẹo ngon nhất trong phạm vi túi tiền mình có. Gói kẹo An mua có N cái kẹo và An dự định sẽ chia hết cho K đứa. Tuy nhiên, An phải chia làm sao cho đứa lớn hơn luôn ít kẹo hơn đứa bé hơn và đứa nào cũng phải có kẹo. Yều cầu: Bạn hãy giúp An tính xem có bao nhiêu cách có thể để An chia hết kẹo cho K em của mình. Dữ liệu vào: Từ tệp văn bản CANDY.INP có cấu trúc: • Chứa 2 số nguyên dương N và K là số lượng kẹo trong gói và số em của An. Kết quả: Ghi ra tệp văn bản CANDY.OUT một số nguyên duy nhất là số lượng cách có thể để An chia N cái kẹo cho K em.

cho em Ý TƯỞNG  bài này với được không ạ? mong ac trả lời.em cám ơn 

 

1
15 tháng 6 2023

Dựa vào yêu cầu bài toán, ta có thể giải quyết bài toán này bằng phương pháp quay lui đệ quy. Ý tưởng cơ bản như sau:

1. Để đảm bảo rằng đứa lớn hơn luôn ít kẹo hơn đứa bé hơn, ta có thể sắp xếp mảng K em theo thứ tự tăng dần.
2. Sử dụng một hàm đệ quy để chia kẹo cho các em:
   - Với mỗi em, ta thử tất cả các số kẹo có thể chia được từ 1 đến N, đồng thời giới hạn số kẹo không được vượt quá số kẹo hiện có và số kẹo của em trước đó. Sau đó, ta đệ quy chia kẹo cho các em tiếp theo.
   - Khi đã chia hết kẹo cho K em, ta kiểm tra xem có phải cách chia kẹo hợp lệ theo yêu cầu của bài toán không.
   - Nếu hợp lệ, tăng biến đếm số lượng cách chia lên.
3. Kết quả cuối cùng là số lượng cách chia kẹo hợp lệ.

---------
 

def count_ways(N, K, candies, current_index, current_count, current_sum):
    # Đã chia hết kẹo cho K em
    if current_index == K:
        # Kiểm tra xem cách chia có hợp lệ không
        if current_sum == N:
            return 1
        else:
            return 0

    # Đệ quy chia kẹo cho em tiếp theo
    ways = 0
    for i in range(1, candies[current_index] + 1):
        if current_sum + i <= N and current_count + i <= candies[current_index]:
            ways += count_ways(N, K, candies, current_index + 1, current_count + i, current_sum + i)

    return ways


# Đọc dữ liệu từ file input
with open('CANDY.INP', 'r') as file:
    N, K = map(int, file.readline().split())

    # Đọc số lượng kẹo của từng em
    candies = []
    for _ in range(K):
        candies.append(int(file.readline()))

# Gọi hàm đệ quy để tính số lượng cách chia kẹo hợp lệ
ways = count_ways(N, K, candies, 0, 0, 0)

# Ghi kết quả vào file output
with open('CANDY.OUT', 'w') as file:
    file.write(str(ways))

const fi='divk.inp';

fo='divk.out';

var f1,f2:text;

a:array[1..100]of integer;

i,n,k,dem,j,x,t:integer;

begin

assign(f1,fi); reset(f1);

assign(f2,fo); rewrite(f2);

readln(f1,n,k);

for i:=1 to n do 

  read(f1,a[i]);

dem:=0;

for i:=1 to n do 

  for j:=1 to n do 

begin

if i<j then 

begin

t:=0;

for x:=i to j do 

  t:=t+a[x];

if t=k then inc(dem);

end;

for i:=1 to n do 

  if k=a[i] then inc(dem);

writeln(f2,dem);

close(f1);

close(f2);

end.

15 tháng 10 2022

#include <bits/stdc++.h>
using namespace std;
#define nhungcute ios_base::sync_with_stdio; cin.tie(0); cout.tie(0);
const int N=1500;
long long n,k,a[N],i,j,c[N][101];
int main(){
nhungcute
    cin>>n>>k;
    for(i=1;i<=n;i++)
        cin>>a[i];
    for(i=1;i<=n;i++){
        a[i]=a[i]%k;
    }
    for(i=1;i<k;i++)
    c[1][i] =-1e9;
    c[1][a[0]]=0;
    c[1][a[1]]=1;
    for(i=2;i<=n;i++){
        for(j=0;j<k;j++){
        c[i][j]=max(c[i-1][j],c[i-1][(j-a[i]+k)%k]+1);
        }
    }
    cout<<c[n][0];
    return 0;
}

 

12 tháng 12 2021

#include <bits/stdc++.h>

using namespace std;

long long n,i,x,t,dem,j;

int main()

{

cin>>n;

x=n;

t=0;

while (n>0)

{

t=t+n%10;

n=n/10;

}

cout<<t;

dem=0;

for (i=2; i<=x; i++)

{

bool kt=true;

for (j=2; j*j<=i; j++)

if (i%j==0) kt=false;

if (kt==true) dem++;

}

cout<<dem;

return 0;

}

7 tháng 1 2022

Số N (0<N<10 mũ 9)

7 tháng 1 2022

N = int(input())
A = 0
B = 0
So_uoc = 0
KQ = ""
for x in range(1, N):
    if (x%2==0) and (x%3==0):
        A += 1
    if (x>0) and (N%x==0):
        if (x>B):
            B = x
for i in range(1, N+1):
    if (N%i==0):
        So_uoc += 1
if (So_uoc == 2):
    KQ = "YES"
else:
    KQ = "NO"
print(A)
print(B)
print(len(str(N)))
print(KQ)

(Chẳng biết đúng không đâu bucminh)

uses crt;

var n,i,dem:integer;

{----------------ham-kiem-tra-so-nguyen-to---------------------------}

function ktnt(x:integer):boolean;

var kt:boolean;

i:integer;

begin

kt:=true;

for i:=2 to trunc(sqrt(x)) do 

  if x mod i=0 then kt:=false;

if kt=true then ktnt:=true

else ktnt:=false;

end;

{-----------------chuong-trinh-chinh-----------------------}

begin

clrscr;

write('Nhap n='); readln(n);

dem:=0;

for i:=2 to n do 

  if (n mod i=0) and (ktnt(i)=true) then inc(dem);

writeln(dem);

readln;

end.

18 tháng 5 2021

10^18 bạn ạ

#include <bits/stdc++.h>

using namespace std;

long long a[1000],n,i;

int main()

{

freopen("dayd.inp","r",stdin);

freopen("dayd.out","w",stdout);

cin>>n;

for (i=1; i<=n; i++) cin>>a[i];

for (i=1; i<=n; i++)

if (a[i]>0) cout<<a[i]<<" ";

return 0;

}

26 tháng 7 2023

#include <iostream>

#include <map>

using namespace std;

int main() {

       int n;

       cin >> n;

       map<int, int> count;

       for (int i = 0; i < n; i++) {

              int x;

              cin >> x;

              count[x]++;

       }

       int ans = 0;

       for (auto p : count) {

              int x = p.second;

              ans += (x * (x - 1)) / 2;

       }

       cout << ans;

       return 0;

}

26 tháng 7 2023

dùng mảng đc ko b?