0.Số nguyên tố
Submit solution
Points:
1 (partial)
Time limit:
1.0s
Memory limit:
98M
Author:
Problem types
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG
Một số được gọi là số nguyên tố nếu nó chỉ có 2 ước là 1 và chính nó. Số 0 và 1 không được coi là số nguyên tố.
Yêu cầu: Cho số n, hãy kiểm tra xem n có là số nguyên tố hay không.
Input
Một dòng duy nhất chứa số n (0<=n<=4*10^9)
Output
In ra “YES” nếu n là số nguyên tố, và “NO” trong trường hợp còn lại.
Comments
include"iostream"
include"cmath"
using namespace std; int check_nt(int n){ if(n<2){ return 0; }else if(n==2){ return 1; }else{ for(int i=2;i<=sqrt(n);i++){ if(n%i==0){ return 0; } } return 1; } } int main(){ int n; cin >> n; if(check_nt(n)==1){ cout << "YES"; }else cout << "NO"; return 0; } Cuu em voi
ad xem giúp mình đầu vào file test với mình chạy code java mà cứ báo InputMismatchException
include<iostream>
include<math.h>
using namespace std; int main() { long x,dem=0; cin>>x; if(x<=2||x%2==0) { cout<<"NO"; return 0; }
for(long i=3;i<sqrt(x);i+=2) { if(x%i==0)
{ cout<<"NO"; return 0; } } cout<<"YES";
return 0; }
sau khi suy nghĩ về tối ưu thì mình đã nâng cấp thuật toán để giảm thời gian còn 1 nửa và giảm số bước xuống tối thiểu trong trường hợp xấu nhất
sau khi lắng nghe ý kiến comment thì mình đã sửa lại code như sau, để khử tình huống của số bình phương:
bai nay rut ngan duoc hon nx.
Code này số 49 là số nguyên tố đấy em
vâng ạ, code của em cứ dinh số có giá trị bằng bình phương số nguyên tố là bị hỏng ạ. 4, 9, 25, đều bị thành số nguyên tố ạ. bộ test này không mấy bộ số nguyên tố bình phương nên chạy code ra đúng hết ạ :3
:((
include<bits/stdc++.h>
using namespace std;
int main(){ long int n; cin >> n; if(n < 2){ cout << "NO"; return 0; } int count = 0; for(int i = 2; i <= sqrt(n); i++){ if(n % i == 0){ count++; } } if(count == 0){ cout << "YES"; }else{ cout << "NO"; } }
package Bai2;
import java.util.Scanner;
public class Person { public static void main(String[] args) { int n; Scanner sc = new Scanner(System.in); System.out.println("Nhap n :"); n = sc.nextInt(); int dem = 0; for (int i = 1; i <= n; i++) { if (n % i == 0) { dem++; } } if (dem == 2) System.out.println(n + " la so nguyen to"); else System.out.println(n + " k la so nguyen to"); sc.close(); } }