Bài 1: B1.cpp
Cho dãy số nguyên dương gồm N phần tử a1, a2,..., an. Tính tổng :
S=T(a1+a2 + ... + an)
Với T(X) là tổng các chữ số của số nguyên dương X.
Input
Dòng đầu gồm duy nhất một số nguyên dương N (N ≤ 100);
Dòng thứ hai gồm N số nguyên dương a1, a2, ..., an (a₁ ≤ 109).
Output: In ra tổng S.
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.
#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;
}
#include <bits/stdc++.h>
using namespace std;
int n,s,i,t;
int main()
{
freopen("bai1.inp","r",stdin);
freopen("bai1.out","w",stdout);
cin>>n>>s;
t=0;
for (int i=1; i<=n; i++)
{
int x;
cin>>x;
if (x%s==0) t+=x;
}
cout<<t;
}
#include <bits/stdc++.h>
using namespace std;
long long a[1000],i,n,j;
bool kt;
int main()
{
freopen("nguyento.inp","r",stdin);
freopen("nguyento.out","w",stdout);
cin>>n;
for (i=1; i<=n; i++) cin>>a[i];
for (i=1; i<=n; i++)
if (a[i]>1)
{
kt=true;
for (j=2; j*j<=a[i]; j++)
if (a[i]%j==0) kt=false;
if (kt==true) cout<<a[i]<<" ";
}
return 0;
}
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.
#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;
}
#include <bits/stdc++.h>
using namespace std;
long long a[10000],i,n,t;
int main()
{
freopen("avg.inp","r",stdin);
freopen("avg.out","w",stdout);
cin>>n;
for (i=1; i<=n; i++) cin>>a[i];
t=0;
for (i=1; i<=n; i++) t+=a[i];
cout<<fixed<<setprecision(1)<<(t*1.0)/(n*1.0);
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int main()
{
long a[105], i,n,max,vt;
cout<<"n="; cin>>n;
for (i=1; i<=n; i++)
{
cout<<"A["<<i<<"]="; cin>>a[i];
}
max=a[1];
for (i=1; i<=n; i++)
if (max<a[i]) max=a[i];
vt=1;
for (i=1; i<=n; i++)
if (max==a[i]) vt=i;
cout<<max<<endl;
cout<<vt;
return 0;
}
Đề thi tin học trẻ BT phải ko b?
Mà bài này giải sao nhỉ?
Muốn xem code để tham khảo quá!!!
sắp xếp lại các phần tử theo chiều tăng dần rồi đặt kết quả muốn tìm = 1, so sánh nó với từng phần tử trong mảng, nếu bé hơn thì dừng chương trình và đó là kết quả, nếu không thỉ cộng kết quả cho phần tử đang được so sánh.
code :
program giai;uses crt;var n,m,i,c,t : integer;A : array[1..100] of integer;beginclrscr;write('so phan tu cua day so :');readln(m);for i:=1 to m do begin readln(A[i]); end;for i:= 1 to m do for n:=i+1 to m do if A[i] > A[n] then begin c:= A[i]; A[i] := A[n]; A[n] := c; end;t:= 1;for i:=1 to m-1 do if t < A[i] then break else t:= t+ A[i];writeln(t);readln;end.
Thử code như này xem sao nha!
#include <iostream>
using namespace std;
// Hàm để tính tổng các chữ số của một số nguyên dương
int T(int X) {
int sum = 0;
while (X > 0) {
sum += X % 10; // Lấy phần đơn vị của X và cộng vào tổng
X /= 10; // Loại bỏ phần đơn vị đã xử lý
}
return sum;
}
int main() {
int N;
cout << "Nhap vao so nguyen duong N: ";
cin >> N;
int* arr = new int[N];
cout << "Nhap vao " << N << " so nguyen duong: ";
for (int i = 0; i < N; ++i) {
cin >> arr[i];
}
int S = 0;
for (int i = 0; i < N; ++i) {
S += T(arr[i]); // Tính tổng các chữ số của từng phần tử và cộng vào S
}
cout << "Tong S = " << S << endl;
delete[] arr;
return 0;
}