30/09/2018, 20:22

Xin ý tưởng để giải một số bài tập lập trình cơ bản

mình đang gặp bài tập này mà chưa điịnh hình được cách làm ra sao mong các bro chỉ cho
ngôn ngữ C++ ạ

  1. Số nguyên
    Viết chương trình cho phép người dùng nhập vào một số nguyên dương n. Sau đó:
    a. Xuất các số từ 1 tới n, các số cách nhau 1 dấu Tab và mỗi dòng chứa 10 số. (Đã xong)
    b. Đếm số lượng các số chia hết cho 3 nhưng không chia hết cho 4 trong đoạn [1…n].
    c. Đếm số lượng chữ số của n. Ví dụ: n = 12345 thì số lượng chữ số là 5.
    d. Đảo ngược số n. Ví dụ: n = 12345 thì sau khi đảo ngược, n = 54321.
    e. Tính tổng các chữ số trong n. Ví dụ: n = 12345 thì tổng các chữ số là 1+2+3+4+5 = 15.
    f. Cho biết chữ số đầu tiên trong n. Ví dụ: n = 12345 thì chữ số đầu tiên là 1.
    g. Đổi số n sang hệ nhị phân. Ví dụ: n = 123410 tương ứng với 100110100102.
    h. Kiểm tra số n có phải là số hoàn hảo (còn gọi là số hoàn chỉnh, số hoàn thiện)? Biết rằng, số hoàn hảo là số có tổng các ước bằng hai lần chính nó. Ví dụ: 6, 28 là số hoàn chỉnh vì 6 = (1+2+3+6)/2, 28 = (1+2+4+7+14+28)/2.
    i. Xuất tất cả các số hoàn chỉnh trong phạm vi [1…n]. Ví dụ: Với n = 30 thì xuất 6, 28.
    j. Tìm số nguyên m lớn nhất sao cho tổng 1+2+…+m ≤ n.
    em xin chân thành cảm ơn
Killua viết 22:24 ngày 30/09/2018

Bạn đã biết xuất nhập một số nguyên chưa , đã học tới vòng for,while,if chưa vậy

Nguyễn Văn Vương viết 22:30 ngày 30/09/2018

mình có học sơ qua các video của anh đạt rồi nhưng không nghĩ ra giải thuật
như bài 2 mình tìm được cách liệt kê các số chia hết cho 3 nhưng không chia hết cho 4 nhưng không biết làm cách nào để xem cái mà mình đã xuất ra có bn số cả

mong các bro chỉ giúp ạ

viết 22:29 ngày 30/09/2018

Mỗi cái thì cho đơn giản cứ dùng 1 biến tạm, mỗi lần xong vòng lặp thì tăng biến tạm lên 1 đơn vị:
b) VD: Khai báo biến tạm k = 0, có thể dùng if ( … && …) hoặc 2 if lồng nhau, rồi cho k++;
c) Số lượng chữ: Dùng vòng While ( …)
VD số nguyên n là XXX => XXX / 10 = XX, XX / 10 = X, X / 10 = 0 => 3 Lần => … chữ số
d) e) Dùng phép chia lấy dư: 15%10 = 5 => …
f) Tựa câu C nhưng điều kiện là n < 10 rồi xuất n thay vì số chữ số.
j) Cho biến Sum = 0, m = 1. Có thể For hoặc While.
Sum = Sum + m;
m++;

Nguyễn Văn Vương viết 22:37 ngày 30/09/2018

dạ tạm gác bài đó lại anh chỉ em cách để xuất ra số nguyên tố với
yêu cầu đề bài là nhập 1 số nt n,xuất ra những số nguyên tố đứng trước nó
vd nhập 11 thì xuất 3,5,7
code của em thì nó xuất ra…
my code:
#include< stdio.h>
#include< iostream>
#include< conio.h>

using namespace std;
int main()
{
int n,dem=0;
cout<<endl<<“n”;
cin>>n;

for (int i=1;i<=n;i++)
    if (n%i==0)
        dem++;
if (dem==2)
{
	cout<<endl<<"cac so nguyen to la: ";
for (int i=3;dem<n;i++)
    {
        if(i<n)
		{
			cout<<i;
            dem++;	
		}
    }
}
   
else
    cout<<endl<<"so nay khong phai la so nguyen to";
_getch();

}

X viết 22:25 ngày 30/09/2018

Dạo này không có thời gian để làm video. Có một số bài bạn xem trong đây
https://www.youtube.com/watch?v=kVDSaY5d1_4&list=PLtxpImCD4DVr-6-X7aG2-0yLqWq3CquAg&index=1

Cận viết 22:35 ngày 30/09/2018

Bài e của bạn đây :
#include < iostream>
using namespace std;
int tinhtongn(int n){
int s=0;
while(n/10>0){
s= s+ n%10;
n=n/10;
}
s=s+n;
return s;
}
int main(){
int a=tinhtongn(12345);cout << a;
return 0;
}

Bài liên quan
0