Check lỗi giúp code in ra tất cả các số nguyên tố có N chữ số và tổng các chữ số đúng bằng S cho trước

#include <iostream>
#include <conio.h>
using namespace std;
//  Bai tap liet ke tat ca cac so nguyen to co N chu so va tong cac chu so dung bang S cho truoc.
int snt(int N, int S){
	for(int i = 10^(N-1); i<10^N-1;i++){
	int a,b;
	for(a=1; a < i; a++){
		int dem = 0;
		for(b=1; b<a; b++){
			if(a%b==0){
				dem++;
			}
			if(dem == 2){
				int tong = 0;
				while(a>0){
					int d = a % 10;
					tong = tong + d;
					a = a/10;
					
				}
				if (tong == S){
						cout<<a<<" ";
				}
			}
			
		}
		
		
	}
	}
	return 0;	
}
int main()
{
	int S;
	int N;
	cin>>N>>S;
	int snt1 = snt(N,S);
	return 0;
	
	
}

Luỹ thừa không dùng kí hiệu là ^ trong C++.

1 Like

vậy thì khai báo đoạn code trong vòng For đầu tiên như thế nào ạ

Bạn phải tự viết hàm luỹ thừa bằng tay thôi.

ủa thế các thuật toán lũy thừa trong C viết tay hết ạ :confused: :((

Hàm luỹ thừa có sẵn của C trả về số thực nên mình mới bảo bạn viết tay, vì bạn đang cần kết quả là số nguyên.

c có thể sửa code cho mh được k. chứ nói thế thì mh k hiểu được luôn á :frowning:

  • Viết hàm luỹ thừa bằng tay.
  • Thay thế vào các chỗ 10^N,… kia.

Bạn viết đi mình xem.

double i,j, m = 10 , n = N-1;
i = pow(m,n);
j = pow(m,(n+1)) -1;
for( i; i<j;i++)

Bài của bạn đang xét đến số nguyên, đừng dùng hàm pow (vì hàm pow trả về số thực).

1 Like

key cho bài này là t cần cái chỗ hàm mũ ntn nữa thôi. vì 2 bước trên t làm đúng rồi. vậy mong c có thể cho t code của cái hàm check i có phải nằm trong khoảng cần chọn k thôi. :slight_smile:

t k biết dùng hàm mũ chỗ này mới phải hỏi c ạ. chứ c cứ vòng vo thế thì khác nào đánh đố t tự mò :))

DNH không cho phép xin code.

  • Dùng if để kiểm tra.
  • Chạy for trong khoảng cần xét -> khỏi viết hàm kiểm tra.

Google có thể giúp bạn mò mà.

http://diendan.congdongcviet.com/threads/t34483::viet-ham-pow-int-i-int-j-trong-lap-trinh-c.cpp

Cao cấp hơn:

1 Like

Cảm ơn 2 c nhé. dù gì vẫn là tự học từ mò vẫn hay hơn :))

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?