没什么好解释的。。。。
/* 筛选法,打素数表,然后判断 ,素数表能判断素数的范围是表内最大那个素数的平方。 */
//筛选,a[i]=1,i为素数
#include<stdio.h>
int a[1000000];
void create_table()
{
int i,j;
for(i=0;i<1000000;i++) a[i]=1;
a[0]=0; a[1]=0;
for(i=2;i<1000000;i++)
{
if(a[i]==1)
{
for(j=i*2;j<1000000;j+=i) a[j]=0;
}
}
}
int main()
{
int num, i;
create_table();
printf("Input the num:");
while(~scanf("%d", &num))
{
if(a[num]==1)
printf("%d is a prime\n", num);
else
printf("%d is not a prime\n", num);}
return 0;
}
进制转换
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
#include<iostream>
using namespace std;
int change(int n,int m)
{
char k;
if(n==0)return 0;
change(n/m,m);
k=(n%m>9?n%m-10+'A':n%m+'0');
printf("%c",k);
}
int main()
{
int n,m,i;
while(~scanf("%d%d",&n,&m))
{
if(n==0)printf("0\n");
else if(n>0)change(n,m);
else{
printf("-");
change(-n,m);
}
printf("\n");
}
}
汉字统计哇咔咔#include<stdio.h> #include<math.h> #include<string.h> #include<stdlib.h> #include<algorithm> #include<iostream> using namespace std; int n,i,flag,k; char str[105]; int main() { scanf("%d",&n); getchar(); while(n--) { flag=0; gets(str); k=strlen(str); for(i=0;i<k;i++) { if(str[i]<0)flag++; } printf("%d\n",flag/2); } }
多边形面积公式#include <iostream> #include <algorithm> #include <cstdio> #include <string.h> #include <queue> #include <cmath> #include <stdlib.h> using namespace std; int main() { //freopen("in.txt","r",stdin); double s; int n,i; int x1,y1,x2,y2,x3,y3; while(scanf("%d",&n),n) { s=0; scanf("%d%d%d%d",&x1,&y1,&x2,&y2); for(i=2;i<n;i++) { scanf("%d%d",&x3,&y3); s+=(x2-x1)*(y3-y1)-(x3-x1)*(y2-y1); x2=x3;y2=y3; } s=s>0?s:-s; printf("%.1lf\n",s*0.5); } return 0; }
约瑟夫问题#include <stdio.h> int main() { int n,m,s; while(scanf("%d %d",&n,&m)!=EOF) { if(n==0 && m==0) break; s = 0; for (int i=2;i<=n;i++){ s = (s + m) % i; } printf ("%d\n",s+1); } return 0; }
全排列库函数#include <stdio.h> #include<iostream> #include<algorithm> using namespace std; int main() { int num[1234]; int t,n,k; scanf("%d",&t); while(t--) { scanf("%d %d",&n,&k); for(int i=0;i<n;i++) scanf("%d",&num[i]); while(k--) next_permutation(num,num+n); for(int i=0;i<n;i++) printf("%d ",num[i]); printf("\n"); } return 0; }
字母数字大小写