1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
| #include <iostream> #include <math.h> int shushu_num = 0; int pingfanghshu_num = 0; int shushu(int num) { for (int i = 2; i <num; i++) { if (num%i==0) { return 0; } } shushu_num++; printf("%d ", num);
}
int pingfanghshu(int num) { for (int i = 2; i < num; i++) { if (sqrt(num)==i&&num%i==0) { printf("%d ", num); pingfanghshu_num++; return 0; } } }
int zhengshuyinzi(int num,int *p) { static int zhengshuyinzi_num = 0; printf("改前地址%d\n", p); p = &zhengshuyinzi_num; printf("改后地址%d\n", p);
printf("%d的整数因子有", num); for (int i = 1; i <= num; i++) { if (num % i == 0) { printf("%d ",i); zhengshuyinzi_num++; } } return zhengshuyinzi_num; }
int gcd(int a, int b) { if (a == b) return a; if (a < b) return gcd(b-a, a); else { return gcd(a-b, a); } }
int jc1(int num) { int jc = 1; for (int i = 1; i <= num; i++) jc *= i; return jc; }
int jc2(int num) { if (num <= 1) { return 1; } else { return jc2 (num - 1) * num; } }
int main() { printf("100以内的素数有\n"); for (int i = 2; i < 100; i++) { shushu(i); } printf("\n共%d个\n",shushu_num); for (int i = 1; i <=100; i++) { pingfanghshu(i); } printf(" 共%d个\n", pingfanghshu_num); int num=0,*p=# printf(" 共%d个\n", zhengshuyinzi(100, p) ); printf("主函取的地址%d,num的地址%d\n",p,&num); printf("p的值%d\n",*p); printf("最大公因数%d\n", gcd(10,100)); printf("100阶乘%d,%d\n", jc1(10),jc2(10)); }
|