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.

ĐÁP ÁN VÒNG 2 CUỘC THI TIN HỌC LẦN 3:

Câu 1(2 điểm)

uses crt;

var a:array[1..100000]of int64;

i,n,x,dem:int64;

begin

clrscr;

readln(n,x);

for i:=1 to n do

read(a[i]);

dem:=0;

for i:=1 to n do

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

writeln(dem);

readln;

end.

Câu 2(2 điểm)

uses crt;

var n,k,i,dem:int64;

a:array[1..1000000]of int64;

{-----------------chuong-trinh-con-quick-sort------------------------}

procedure qs(d,c:int64);

var i,j,x,tam:int64;

begin

i:=d;

j:=c;

x:=a[(i+j) div 2];

repeat

while a[i]<x do

inc(i);

while a[j]>x do

dec(j);

if i<=j then

begin

tam:=a[i];

a[i]:=a[j];

a[j]:=tam;

inc(i);

dec(j);

end;

until i>j;

if d<j then qs(d,j);

if i<c then qs(i,c);

end;

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

begin

clrscr;

readln(n);

for i:=1 to n do

read(a[i]);

qs(1,n);

k:=a[n];

dem:=0;

for i:=1 to n do

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

writeln(dem);

readln;

end.

Câu 3(2 điểm) Bài làm của bạn Hưng Nguyễn Thái

var a,b,c:int64;

begin

read(a,b,c);

if (a+b <= c) and ((c-a-b) mod 2 = 0) then write('Yes')

else write('No');

end.

Câu 4(6 điểm) Bài làm của bạn Quý Lương

#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main()
{
    ios_base::sync_with_stdio(false); cout.tie(NULL);
    ll n, k;
    cin>>n>>k;
    ll d=__gcd(n, k);
    n/=d; k/=d;
    cout << n/k << '.';
    n=n%k*10;
    ll s=0, t=k;
    for (s; t%2==0 or t%5==0; s++) {
        if (t%2==0) t/=2;
        if (t%5==0) t/=5;
    }
    for (s; s>0; s--) {
        cout << n/k;
        n=(n%k) * 10;
    }
    if (t==1) cout << "(0)";
    else {
        ll r =10%t;
        for (s=1; r!=1; s++) r=r*10 % t;
        cout << '(';
        for (s; s>0; s--) {
            cout << n/k;
            n=(n%k)*10;
        }
        cout << ')';
    }
}

Câu 5(8 điểm) Bài làm của bạn Trần Nguyễn Đăng Dương

#include <bits/stdc++.h>
using namespace std;
int n;
long long a[100001];
long long f[100001];
void ans(long long x)
{
    int dem=1;
    for (long long i=2;i*i<=x;i++)
        if (x%i==0)
        {
            f[dem]=i;
            if (i!=sqrt(x))
            {
                f[dem+1]=x/i; dem+=2;
            }
            else dem++;
        }
    f[dem]=x;
    sort(f+1,f+dem);
    for (int i=1;i<=dem;i++) cout<<f[i]<<endl;
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr); cout.tie(nullptr);
    cin>>n;
    for (int i=1;i<=n;i++) cin>>a[i];
    long long gcd=abs(a[2]-a[1]);
    for (int i=3;i<=n;i++)
        gcd=__gcd(gcd,abs(a[i]-a[i-1]));
    ans(gcd);
}

5
21 tháng 7 2021

dàiiiiiiiiiiiiiiiiiiiiiiiiiii

21 tháng 7 2021

cmt đầu có được fan cứng không

ĐÁP ÁN VÒNG 1 CUỘC THI TIN HỌC LẦN 3Câu 1(2 điểm)uses crt;var n,dv,ch:integer;beginclrscr;readln(n);if (0<=n) and (n<=19) thenbegincase n of0: write('zero');1: write('one');2: write('two');3: write('three');4: write('four');5: write('five');6: write('six');7: write('seven');8: write('eight');9: write('nine');10: write('ten');11: write('eleven');12: write('twelve');13: write('thirteen');14: write('fourteen');15: write('fifteen');16: write('sixteen');17: write('seventeen');18:...
Đọc tiếp

ĐÁP ÁN VÒNG 1 CUỘC THI TIN HỌC LẦN 3

Câu 1(2 điểm)

uses crt;

var n,dv,ch:integer;

begin

clrscr;

readln(n);

if (0<=n) and (n<=19) then

begin

case n of

0: write('zero');

1: write('one');

2: write('two');

3: write('three');

4: write('four');

5: write('five');

6: write('six');

7: write('seven');

8: write('eight');

9: write('nine');

10: write('ten');

11: write('eleven');

12: write('twelve');

13: write('thirteen');

14: write('fourteen');

15: write('fifteen');

16: write('sixteen');

17: write('seventeen');

18: write('eighteen');

19: write('nineteen');

end;

end

else

begin

dv:=n mod 10;

ch:=n div 10;

case ch of 2:

write('twenty');

3: write('thirty');

4: write('forty');

5: write('fifty');

6: write('sixty');

7: write('seventy');

8: write('eighty');

9: write('ninety');

end;

if dv>0 then

begin

write('-');

case dv of 1:

write('one');

2: write('two');

3: write('three');

4: write('four');

5: write('five');

6: write('six');

7: write('seven');

8: write('eight');

9: write('nine');

end;

end;

end;

end.

Câu 2(2 điểm)

uses crt;

var a,b,t,bcnn:int64;

begin

readln(a,b);

bcnn:=a*b;

t:=b mod a;

while t<>0 do

begin

t:=a mod b;

a:=b;

b:=t;

end;

bcnn:=bcnn div a;

writeln(a,' ',bcnn);

readln;

end.

Câu 3(4 điểm)

uses crt;

var q,i:longint;

n:array[1..10] of longint;

begin

clrscr;

readln(q);

for i:=1 to q do

readln(n[i]);

for i:=1 to q do

begin

if (n[i] mod 4=0) and (n[i] mod 100<>0) then writeln('YES')

else if n[i] mod 400=0 then writeln('YES')

else writeln('NO');

end;

end.

Câu 4(2 điểm)

uses crt;

var n,p,x,dem:int64;

{----------------------chuong-trinh-con-tim-ucln---------------------}

function ucln(a,b:int64):int64;

var t:int64;

begin

t:=b mod a;

while t<>0 do

begin

t:=a mod b;

a:=b;

b:=t;

end;

ucln:=a;

end;

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

begin

readln(n,p);

dem:=0;

for x:=1 to n do

if ucln(x,n)=p then inc(dem);

writeln(dem);

end.

Câu 5(10 điểm) Bài làm của bạn @Hưng Nguyễn Thái

#include<bits/stdc++.h>

using namespace std;

#define ll long long #define mod (ll)(1e7+7)

const ll N = 1000000;

ll lp[N+1];

vector<ll > pr;

void solve()

{ for (ll i=2; i<=N; ++i)

{ if (lp[i] == 0)

{ lp[i] = i; pr.push_back (i);

}

for (ll j=0; j<(ll )pr.size() && pr[j]<=lp[i] && i*pr[j]<=N; ++j)

lp[i * pr[j]] = pr[j];

}

}

ll po(ll a,ll n)

{ ll res=a, ans=1; while(n)

{ if(n%2) ans=ans*res%mod; res=res*res%mod; n/=2;

}

return ans;

}

ll aka(ll p, ll alpha)

{

if(alpha==0) return 1;

if(alpha==1) return (p+1);

if(alpha%2==1) return p*aka(p,alpha-1)+1;

if(alpha%2==0) return (po(p,alpha/2)+1)*(aka(p,alpha/2)-1)+1;

}

ll f(ll n)

{

ll tmp,i=0,so_mu,res=1;

while(pr[i]<=n)

{

tmp=pr[i];

so_mu=0;

while(tmp<=n)

{

so_mu = so_mu+ (n/tmp);

tmp=tmp*pr[i];

}

res=res*(so_mu+1)*(so_mu+2)/2%mod; i++;

}

return res;

}

int main(){ ll n,res; solve();

while(1)

{

cin>>n;

if(n==0) break;

res=f(n);

cout<<res<<'\n';

}

}

9

Nhìn dài quá

Ngủ thôi

22 tháng 9 2020

@Nguyễn Minh Lệ

@Nguyễn Lê Phước Thịnh

ĐÁP ÁN VÒNG 3 CUỘC THI TIN HỌC LẦN 3Câu 1(2 điểm) Bài làm của bạn Nguyễn Khánh Tài Huyvar a,b,tg1,tg2,UC: longint;    f1,f2: text;function tguoc(x: longint): longint;  var i,tg: longint;    begin      tg:=0;      for i:=1 to trunc(sqrt(x)) do        if x mod i = 0 then          begin            tg:=tg+i;            tg:=tg+x div i;            if i*i=x then tg:=tg-i;          end;      exit(tg);    end;function UCLN(a,b: longint): longint;    begin      if a=0 then exit(b)      else...
Đọc tiếp

ĐÁP ÁN VÒNG 3 CUỘC THI TIN HỌC LẦN 3

Câu 1(2 điểm) Bài làm của bạn Nguyễn Khánh Tài Huy

var a,b,tg1,tg2,UC: longint;
    f1,f2: text;
function tguoc(x: longint): longint;
  var i,tg: longint;
    begin
      tg:=0;
      for i:=1 to trunc(sqrt(x)) do
        if x mod i = 0 then
          begin
            tg:=tg+i;
            tg:=tg+x div i;
            if i*i=x then tg:=tg-i;
          end;
      exit(tg);
    end;
function UCLN(a,b: longint): longint;
    begin
      if a=0 then exit(b)
      else UCLN:=UCLN(b mod a,a);
    end;
begin
   readln(a);
   readln(b);
   tg1:=tguoc(a);
   tg2:=tguoc(b);
   if tg1*b=tg2*a then
     begin
       UC:=ucln(tg1,a);
       tg1:=tg1 div UC;
       a:=a div UC;
       writeln(tg1);
       writeln(a);
     end
   else writeln(-1);
end.

Câu 2(4 điểm) Bài làm của bạn Trần Nguyễn Đăng Dương

#include <bits/stdc++.h>
using namespace std;
#define div 1000000007
#define arrst {{1,1},{1,0}}
long long x;
void power(long long a[2][2], long long n);
void multi(long long a[2][2], long long b[2][2]);
long long fibo(long long n)
{
    long long f[2][2]=arrst;
    power(f,n-1);
    return f[0][0];
}
void power(long long a[2][2], long long n)
{
    if ((n==0) || (n==1)) return;
    long long b[2][2]=arrst;
    power(a,n/2);
    multi(a,a);
    if (n%2==1)
        multi(a,b);
}
void multi(long long a[2][2], long long b[2][2])
{
    long long x = (((a[0][0]%div) * (b[0][0]%div))%div + ((a[0][1]%div) * (b[1][0]%div))%div)%div;
    long long y = (((a[0][0]%div) * (b[0][1]%div))%div + ((a[0][1]%div) * (b[1][1]%div))%div)%div;
    long long z = (((a[1][0]%div) * (b[0][0]%div))%div + ((a[1][1]%div) * (b[1][0]%div))%div)%div;
    long long w = (((a[1][0]%div) * (b[0][1]%div))%div + ((a[1][1]%div) * (b[1][1]%div))%div)%div;
    a[0][0]=x; a[0][1]=y; a[1][0]=z; a[1][1]=w;
}
int main()
{
    ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
    long long t; cin>>t;
    for (long long i=1;i<=t;i++)
    {
        cin>>x;
        cout<<fibo(x)%div<<endl;
    }
}

Câu 3(4 điểm) Bài làm của bạn Trần Nguyễn Đăng Dương

#include <bits/stdc++.h>
using namespace std;
struct ii{
    long long a; long long b;
};
vector <ii> arr;
long long n,q;
void del(long long numx, long long numy)
{
    long long dem=0;
    while ((arr[dem].a!=numx) || (arr[dem].b!=numy)) dem++;
    arr.erase(arr.begin()+dem);
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr); cout.tie(nullptr);
    cin>>n>>q;
    for (long long i=1;i<=n;i++)
    {
        long long x,y; cin>>x>>y;
        arr.push_back({x,y});
    }
    for (long long i=1;i<=q;i++)
    {
        long long t,x,y; cin>>t>>x>>y;
        if (t==1) arr.push_back({x,y});
        else if (t==2) del(x,y);
        else
        {
            long long maxx=INT_MIN, maxy=INT_MIN;
            for (long long i=0;i<arr.size();i++)
            {
                if (arr[i].b==y) maxx=max(maxx,abs(arr[i].a-x));
                if (arr[i].a==x) maxy=max(maxy,abs(arr[i].b-y));
            }
            if ((maxx!=INT_MIN) && (maxy!=INT_MIN))
            {
                cout<<maxx*maxy/2;
                if (maxx*maxy%2!=0) cout<<".5";
                cout<<endl;
            }
            else cout<<0<<endl;
        }
    }
}

Câu 4(5 điểm) Bài làm của bạn Nguyễn Khánh Tài Huy

#include <cstdio>

#include <cstdlib>

#include <numeric>

#include <vector>

#include <algorithm>

#include <cstring>

using namespace std;

const int MAXN = 16;

const int MAXL = 1 << 20;

const int inf = 1 << 30;

 

int n;

char str[MAXN][MAXL];

int cnt[MAXN][26];

int dp[1 << MAXN];

 

int calc_pref(int mask) {

  int len = 0;

  int tmp[26];

  fill(tmp, tmp+26, inf);

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

    if (mask&(1 << i))

      for (int j = 0; j < 26; ++j)

tmp[j] = min(tmp[j], cnt[i][j]);

  for (int i = 0; i < 26; ++i)

    len += tmp[i];

  return len;

}

int solve(int mask) {

  int &ret = dp[mask];

  if (ret != -1) return ret;

  int pref = calc_pref(mask);

  if ((mask&-mask) == mask) return ret = pref;

  ret = inf;

  for (int i = (mask - 1) & mask; i > 0; i = (i - 1) & mask) {

    int curr = solve(i) + solve(mask ^ i) - pref;

    ret = min(ret, curr);

  }

  return ret;

}

int main (void){

  memset(dp, -1, sizeof dp);

  scanf("%d", &n);

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

    scanf("%s", str[i]);

 

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

    for (int j = 0; str[i][j]; ++j)

      cnt[i][str[i][j] - 'a']++;

  printf("%d\n", solve((1 << n)-1) + 1);

  return 0;

}

Câu 5(5 điểm) Bài làm của bạn Trần Nguyễn Đăng Dương

 

#include <bits/stdc++.h>

using namespace std;

vector <bool> sang(1000000000,true);

vector <long long> snt;

void sangnt(long long x)

{

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

{

if (sang[i])

{

    snt.push_back(i);

for (long long j=i;j*i<=x;j++) sang[i*j]=false;

}

}

}

void num(long long input)

{

    long long step_count = 1;

    long long step_limit = 2;

    long long adder = 1;

    long long x = 0, y = 0;

    for (long long n = 2; n != input + 1; n++,step_count++)

    {

        if (step_count <= .5 * step_limit) x += adder;

        else if (step_count <= step_limit) y += adder;

        if (step_count == step_limit)

        {

            adder *= -1;

            step_limit += 2;

            step_count = 0;

        }

    }

    cout << x << " " << y;

}

int main()

{

    long long n; cin>>n;

    sangnt(n);

    long long l=0;

    while (snt[l]!=n) l++;

    l++;

    num(l);

}

7
Nguyễn Lê Phước Thịnh CTV       nhìn chữ CTV   mà ham

uses crt;

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

n,i,s,max,k:integer;

begin

clrscr;

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

for i:=1 to n do 

begin

write('A[',i,']='); readln(a[i]);

end;

max:=0;

for i:=1 to n do 

  for j:=1 to n do 

if i<=j then 

begin

s:=0;

for k:=i to j do 

  s:=s+a[k];

if max<s then max:=s;

end;

writeln(max);

readln;

end.

A. Dạng toán xác định bài toán và xây dựng thuật toán cho bài toán. 1. Xác định bài toán( tìm Input và Output) a. Cho ba cạnh a, b, c của tam giác ABC, tính diện tích S của tam giác đó. b. Cho điểm I(x,y) trên mặt phẳng tọa độ và số thực R. Vẽ trên màn hình đường tròn tâm I, bán kính R c. Cho dãy số A gồm N số nguyên a1, a2,…,aN. Hãy sắp xếp các số hạng để dãy số A trở thành dãy số tăng dần. 2. Xây dựng thuật toán cho...
Đọc tiếp

A. Dạng toán xác định bài toán và xây dựng thuật toán cho bài toán.

1. Xác định bài toán( tìm Input và Output)

a. Cho ba cạnh a, b, c của tam giác ABC, tính diện tích S của tam giác đó.

b. Cho điểm I(x,y) trên mặt phẳng tọa độ và số thực R. Vẽ trên màn hình đường tròn tâm I, bán kính R

c. Cho dãy số A gồm N số nguyên a1, a2,…,aN. Hãy sắp xếp các số hạng để dãy số A trở thành dãy số tăng dần.

2. Xây dựng thuật toán cho các bài toán sau:

a. Tính và hiển thị tổng của các số dương trong dãy số A= {a1, a2,…,aN}

b. Tìm giá trị nhỏ nhất của dãy số A= {a1, a2,…,aN}

c. Hãy đếm các số âm có trong dãy số A= {a1, a2,…,aN}

3. Thuật toán sau làm nhiệm vụ gì?.

Bước 1: Nhập N, các số hạng a1, a2,…, aN và khóa k;

Bước 2: iß1;

Bước 3: Nếu ai = k thì thông báo chỉ số i, rồi kết thúc;

Bước 4: ißi+1;

Bước 5: Nếu i>N thì thông báo dãy A không có số hạng nào có giá trị bằng k, rồi kết thúc;

Bước 6: Quay lại bước 3.

1
20 tháng 12 2018

làm hộ mình với

Bài 1:

a)

-Bước 1: nhập n và nhập dãy số

-Bước 2: i=1, t=0

-Bước 3: nếu a[i]>0 thì t→t+a[i];

-Bước 4: i→i+1;

-Bước 5: Nếu i<=n thì quay lại bước 3

-Bước 6: xuất t

-Bước 7: kết thúc

b)

-Bước 1: nhập n và nhập dãy số

-Bước 2: i=1, nn=a[1];

-Bước 3: nếu nn>a[i] thì nn→a[i];

-Bước 4: i→i+1;

-Bước 5: Nếu i<=n thì quay lại bước 3

-Bước 6: xuất nn

-Bước 7: kết thúc

c)

-Bước 1: nhập n và nhập dãy số

-Bước 2: i=1, dem=0

-Bước 3: nếu a[i]<0 thì dem→dem+1;

-Bước 4: i→i+1;

-Bước 5: Nếu i<=n thì quay lại bước 3

-Bước 6: xuất dem

-Bước 7: kết thúc

Bài 2:

Thuật toán này thực hiện nhiệm vụ: nhập 1 dãy n số và một khóa k. kiểm tra xem khóa k có trong dãy hay không. nếu có hãy xuất vị trí của khóa k

7 tháng 1 2020

Dấu gán trong thuật toán kí hiệu là ← em nhé. Em chỉ cần ấn tổ hợp bàn phím [Alt]+[2]+[7] .

Ví dụ bước 2: i←1 ; dem←0;

Bài 1: Vẽ sơ đồ khối biểu diễn thuật toán giải phương trình bậc hai: Ax 2 +bx+c=0 Bài 2: Hãy mô tả thuật toán giải bài toán sau bằng cách liệt kê hoặc bằng sơ đồ khối? Cho 50 học sinh trong lớp 10A và dãy chiều cao hs 1 ...hs 50 , hãy tìm học sinh thấp nhất trong lớp Bài 3: Viết thuật toán tìm trong dãy A gồm N số nguyên từ a 1 ...a N xem có bao nhiêu số hạng trong dãy lớn hơn 100. Bài 4: Viết các bước liệt kê...
Đọc tiếp

Bài 1: Vẽ sơ đồ khối biểu diễn thuật toán giải phương trình bậc hai:

Ax 2 +bx+c=0

Bài 2: Hãy mô tả thuật toán giải bài toán sau bằng cách liệt kê hoặc bằng sơ đồ
khối?
Cho 50 học sinh trong lớp 10A và dãy chiều cao hs 1 ...hs 50 , hãy tìm học sinh
thấp nhất trong lớp
Bài 3: Viết thuật toán tìm trong dãy A gồm N số nguyên từ a 1 ...a N xem có bao
nhiêu số hạng trong dãy lớn hơn 100.
Bài 4: Viết các bước liệt kê của thuật toán tìm kiếm tuần tự để giải bài toán sau:
Cho 50 học sinh trong lớp 10A có các chiều cao khác nhau hs 1 ...hs 50 , tìm
vị trí hs i (học sinh i) cao k (m) hoặc thông báo không có học sinh (hs) cao k (m)
trong lớp?
Bài 5: Cho thuật toán: (Trong đó i là biến không âm)
B1.bắt đầu
B2. i ← 0
B3. nếu i&gt;9 thì kết thúc
B4. i ← i+1
B5. xuất i rồi quay về B3
Trình bày thuật toán dưới dạng sơ đồ khối. Cho biết kết quả in ra trên màn hình.
Bài 6: Em hãy mô tả thuật toán cho bài toán sau bằng liệt kê hoặc sơ đồ
khối: nhập vào từ bàn phím điểm trung bình của 1 học sinh bất kì. Đưa
ra màn hình kết quả xếp loại học tập của học sinh đó. Biết nếu điểm
trung bình &lt;3.5 loại kém; 3.5&lt;=điểm trung bình&lt;5.0 loại yếu; 5.0&lt;= điểm
trung bình&lt;6.5 loại khá; 6.5&lt;= điểm trung bình&lt;8.0 loại khá; 8.0&lt;= điểm
trung bình&lt;10.0 loại giỏi.
Mọi người giúp mình với

0