|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
输入 n , 输出1−n之间所有的素数。
输入格式
一行,一个整数 n
输出格式
多行,每行一个整数,为1−n 之间的素数
数据范围与提示
1<= n <= 10000
输入输出样例
样例 1
输入样例 复制
10
输出样例 复制
2
3
5
7
我会写判断是不是素数的代码 , 但是这个题不会做,下面是我写的判断素数代码 , 求帮忙 - #include <bits/stdc++.h>
- using namespace std;
- int main(){
- int n, i;
- bool isprime = 1;
- scanf("%d", &n);
- if(!(n%2)&&n!=2){
- isprime = 0;
- }
- else{
- for(i=2; i<=n/2; i++){
- if(!(n%i)){
- isprime = 0;
- break;
- }
- }
- }
- if(isprime){
- printf("T");
- }
- else{
- printf("F");
- }
-
- return 0;
- }
复制代码
本帖最后由 jackz007 于 2022-3-2 14:07 编辑
- #include <bits/stdc++.h>
- using namespace std ;
- int main(void)
- {
- int c , i , k , n ;
- bool isprime ;
- scanf("%d", & n) ;
- for(c = 0 , k = 1 ; k < n ; k ++) {
- isprime = false ;
- if(k > 1 && k % 2 && k % 3 && k % 5 && k % 7) {
- for(isprime = true , i = 3 ; i * i < k + 1 ; i += 2) {
- if(! (k % i)) {
- isprime = false ;
- break ;
- }
- }
- } else if(k == 2 || k == 3 || k == 5 || k == 7) isprime = true ;
- if(isprime) {
- if(c) {
- if(! (c % 10)) printf("\n") ;
- else printf(" ") ;
- }
- printf("%3d" , k) ;
- c ++ ;
- }
- }
- printf("\n") ;
- }
复制代码
编译、运行实况:
- D:\[00.Exerciese.2022]\C>g++ -o prime prime.c
- D:\[00.Exerciese.2022]\C>prime
- 1000
- 2 3 5 7 11 13 17 19 23 29
- 31 37 41 43 47 53 59 61 67 71
- 73 79 83 89 97 101 103 107 109 113
- 127 131 137 139 149 151 157 163 167 173
- 179 181 191 193 197 199 211 223 227 229
- 233 239 241 251 257 263 269 271 277 281
- 283 293 307 311 313 317 331 337 347 349
- 353 359 367 373 379 383 389 397 401 409
- 419 421 431 433 439 443 449 457 461 463
- 467 479 487 491 499 503 509 521 523 541
- 547 557 563 569 571 577 587 593 599 601
- 607 613 617 619 631 641 643 647 653 659
- 661 673 677 683 691 701 709 719 727 733
- 739 743 751 757 761 769 773 787 797 809
- 811 821 823 827 829 839 853 857 859 863
- 877 881 883 887 907 911 919 929 937 941
- 947 953 967 971 977 983 991 997
- D:\[00.Exerciese.2022]\C>
复制代码
|
|