Đếm chữ số nguyên tố của một số

#include<iostream>
int main(int argc, char*argv[])
{
    int i , a , n ,dem, demt = 0;
    cout<<"nhap so"<<endl;
    cin>> n ;
    do
    {
        a= n%10;
        n=n/10;
        dem=0;
        for (i=1; i<= a; i++)
        if(a%i==0)
        dem++;
        if(dem==2)
        demt++;
    }
    while(n!=0);
    count<<"demsont="<<demt<<endl;
    return 0;
}

mọi người xem dùm thuật toán trên sai chỗ nào với ạ

Chữ số đơn là số nguyên tố thì chỉ có 2, 3, 5, 7 thôi. Việc gì phải lặp và tính lâu như vậy.

Mà thuật toán chưa biết hiệu quả không, nhưng biên dịch không được rồi đấy.

  • std đâu?
  • count hay cout?
5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?