acm-基础题
星空永恒&&卡利达
这个作者很懒,什么都没留下…
展开
-
南阳OJ 阶乘因式分解
#include#include#includeusing namespace std;int main(){ int n,m; while( scanf("%d%d",&n,&m)!=EOF ) { int cnt=0; int i; for(i=1;i<=n;i++) { if(i%m==0) { int k=i; while(k>=原创 2016-02-29 21:17:26 · 314 阅读 · 0 评论 -
hdu 1239 Calling Extraterrestrial Intelligence Again
#include#include#includeint num[100100];void init()//0 表示素数, 1表示不是素数 { int i,j; memset(num,0,sizeof(num)); for(i=2;i<=sqrt(100000);i++) { for(j=i*2;j<=100000;j=j+i) { if(num[j]==0)原创 2016-02-13 21:43:38 · 243 阅读 · 0 评论 -
hdu 2138 How many prime numbers
#include#include#includeint main(){ int t; int n; int i,j; int cnt; int flag; while(scanf("%d",&t)!=EOF) { cnt=0; for(i=1;i<=t;i++) { flag=0; scanf("%d",&n); for(j=2;j<=sqrt(原创 2016-01-31 10:50:15 · 191 阅读 · 0 评论 -
hdu 2139 Calculate the formula
#include__int64 num[100001];int main(){ int i,n; num[1]=1; num[3]=10; for(i=5;i<=100001;i=i+2) num[i]=num[i-2]+i*i; while(scanf("%d",&n)!=EOF) { printf("%I64d\n",num[n]); } return 0;}原创 2016-01-30 20:48:20 · 245 阅读 · 0 评论 -
hdu 2143 box
#includeint main(){ __int64 a,b,c; while(scanf("%I64d%I64d%I64d",&a,&b,&c)!=EOF) { if(a+b==c||a+c==b||b+c==a||a*b==c||a*c==b||b*c==a) { printf("oh,lucky!\n"); continue; } if(a!=0)原创 2016-01-30 20:12:02 · 421 阅读 · 0 评论 -
hdu 2148 Score
#include#includeusing namespace std;int main(){ int num[1500]; int n,k; int i; int t; int cnt; cin>>t; while(t--) { memset(num,0,sizeof(num)); cin>>n>>k; for(i=1;i<=n;i++) cin>>原创 2016-01-30 19:17:20 · 254 阅读 · 0 评论 -
hdu 2153 仙人球的残影
#includeusing namespace std;int main(){ int i,j,k; int n; while(cin>>n,n!=0) { for(i=1;i<=n;i++) { printf("%3d",i); } cout<<endl; if(n==1) continue; for(k=1;k<=n-2;k++) {原创 2016-01-30 18:42:14 · 696 阅读 · 0 评论 -
hdu 2156 分数矩阵
#include//别一个个进行循环了会超时的int main(){ double sum; int n; int i; while(scanf("%d",&n)!=EOF,n!=0) { sum=0.0; for(i=1;i<=n;i++) { sum=sum+1.0*(n-i+1)/i*1.0; } sum=sum*2.0-n; printf("%.原创 2016-01-30 14:46:04 · 308 阅读 · 0 评论 -
hdu 2161 Primes
#include#include#include#includeusing namespace std;int main(){ int num[20000]; int k=1; int n; int i,j; memset(num,0,sizeof(num)); for(i=2;i<=sqrt(16000);i++) { for(j=2*i;j<=16000;j=j+原创 2016-01-30 13:55:15 · 227 阅读 · 0 评论 -
hdu 2162 Add ‘em
#include#includeusing namespace std;int main(){ int num[300]; int n; int sum; int i; int k=1; while(cin>>n) { if(n<=0) break; memset(num,0,sizeof(num)); sum=0; for(i=1;i<=n;原创 2016-01-30 13:05:29 · 268 阅读 · 0 评论 -
hdu 2186 悼念512汶川大地震遇难同胞——一定要记住我爱你
/*x 抢险小分队y 医疗小分队z 通信小分队*//*x=n/2;y=(n-x)*2/3;z=n-x-y;cntx,cnty,cntz;*/#includeint result(int x){ if(x%10!=0) return x/10+1; else return x/10;}int main(){ int x,y,z; int cntx,cnty原创 2016-01-30 11:35:21 · 290 阅读 · 0 评论 -
hdu 2192 MagicBuilding
#include#include#includeusing namespace std;int main(){ int num[11000]; int t; int mmax,max,cnt; int n; int i,j; cin>>t; while(t--) { cin>>n; memset(num,0,sizeof(num)); for(i=1;原创 2016-01-30 11:20:07 · 210 阅读 · 0 评论 -
hdu 2200 Eddy's AC难题
#includelong long int C(long long m,long long n){ long long sum=1; long long i; for(i=1;i<=m;i++) { sum=sum*(n-i+1)/i; } return sum;}int main(){ long long sum; long long n,i; while(原创 2016-01-30 10:54:01 · 249 阅读 · 0 评论 -
hdu 2136 Largest prime factor
#include#include#include int num[1100000];//素数打表的改进版本int main(){ int i,j; int n; int sum; for(i=1;i<=1000000;i++) num[i]=-1; sum=0; for(i=2;i<=sqrt(1000000);i++) { if(num[i]==-1)原创 2016-01-31 13:05:46 · 219 阅读 · 0 评论 -
hdu 2133 What day is it
#include int b[20] = {0,31,28,31,30,31,30,31,31,30,31,30,31,0};int Y = 1, M = 1, D = 1;int leap(int y){ if(y%400 == 0 || (y%4 == 0 && y%100!=0)) return 1; return 0;}int main()转载 2016-01-31 18:29:39 · 204 阅读 · 0 评论 -
hdu 1406 完数
#include#include#include#includeusing namespace std;int main(){ int i,j; int sum; int num[11000]; for(i=0;i<11000;i++) num[i]=0; for(i=2;i<11000;i++) { sum=0; for(j=1;j<i;j++) {原创 2016-02-19 09:19:10 · 276 阅读 · 0 评论 -
hdu 2109 Fighting for HDU
#include#includeint cmp(const void *a,const void *b){ return *(int*)a-*(int*)b;}int main(){ int num1[200],num2[200]; int sum1,sum2; int n; int i; while(scanf("%d",&n)!=EOF) { if(n==0)原创 2016-02-03 17:43:38 · 268 阅读 · 0 评论 -
hdu 2107 Founding of HDU
#include#includeint cmp(const void *a,const void *b){ return *(int*)a-*(int*)b;}int main(){ int num[200]; int n; int i; while(scanf("%d",&n)!=EOF) { if(n==0) break; for(i=0;i<n;i原创 2016-02-03 17:23:55 · 236 阅读 · 0 评论 -
hdu 2101 A + B Problem Too
#includeint main(){ int a,b; while(scanf("%d%d",&a,&b)!=EOF) { if((a%86+b%86)%86==0) printf("yes\n"); else printf("no\n"); } return 0;}原创 2016-02-01 21:18:01 · 228 阅读 · 0 评论 -
hdu 2099 整除的尾数
#includeint main(){ int a,b; int i; int k; int num; while(scanf("%d%d",&a,&b)!=EOF) { if(a==0&&b==0) break; k=1; for(i=0;i<=99;i++) { num=a*100+i; if(num%b==0)原创 2016-02-01 21:11:03 · 198 阅读 · 0 评论 -
hdu 2098 分拆素数和
#include#includeint main(){ int num[11000]; int i,j; int cnt,k; int n; for(i=1;i<=10000;i++) num[i]=0; for(i=2;i<=sqrt(10000);i++) { for(j=2*i;j<=10000;j=j+i) if(num[j]==0) num[j]原创 2016-02-01 17:51:14 · 207 阅读 · 0 评论 -
hdu 2097 Sky数
#includeint main(){ int n,m,k; int a,b,c; while(scanf("%d",&k)!=EOF) { if(k==0) break; a=0; b=0; c=0; n=k; while(n!=0) { m=n%10; a=a+m; n=n/10; } n=k; while(n!=0)原创 2016-02-01 17:03:11 · 201 阅读 · 0 评论 -
hdu 2096 小明A+B
#includeint main(){ int t; int a,b; scanf("%d",&t); while(t--) { scanf("%d%d",&a,&b); a=a%100; b=b%100; printf("%d\n",(a+b)%100); } return 0;}原创 2016-02-01 16:46:58 · 223 阅读 · 0 评论 -
hdu 2114 Calculate S(n)
#includeint main(){ long long sum; long long n; long long i; while(scanf("%lld",&n)!=EOF) { sum=( (((n%10000)*((n+1)%10000))%10000)*(((n%10000)*((n+1)%10000))%10000)/4 )%10000; printf("%04l原创 2016-01-31 23:02:43 · 192 阅读 · 0 评论 -
hdu 2113 Secret Number
#includeint main(){ int k=1; int n; int sum; int m; while(scanf("%d",&n)!=EOF) { sum=0; while(n!=0) { m=n%10; n=n/10; if(m%2==0) sum=sum+m; } if(k==1) printf("%d\n"原创 2016-01-31 21:56:07 · 224 阅读 · 0 评论 -
hdu 2123 An easy problem
#include#includeint main(){ int n; int i,j; int t; scanf("%d",&t); while(t--) { scanf("%d",&n); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { if(j!=1) { printf(" %d",i*j);原创 2016-01-31 21:47:40 · 353 阅读 · 0 评论 -
hdu 2132 An easy problem
#includelong long num[110000];int main(){ long long i; int n; num[0]=0; num[1]=1; num[2]=3; num[3]=30; for(i=4;i<=100000;i++) { if(i%3==0) { num[i]=num[i-1]+i*i*i; } else {原创 2016-01-31 18:44:02 · 206 阅读 · 0 评论 -
hdu 2201 熊猫阿波的故事
#includeint main(){ int n,m;//是由(n-1)!/n!约分而来 while(scanf("%d%d",&n,&m)!=EOF) { printf("%.2lf\n",1.0/n); } return 0;}原创 2016-01-29 18:45:00 · 230 阅读 · 0 评论 -
hdu 2212 DFS
#include/*假设有个数是9999999999,10个9,那么10*9!=3628800,是一个7位数在来看9999999,7个9,那么7*9!=2540160也是一个7位数,所以只需for(i=1;i<=9999999;i++) 判断这里面的数即可 */int main(){ int i; int sum; int n,m; int num[10]={1,1,2,6原创 2016-01-29 18:29:30 · 157 阅读 · 0 评论 -
hdu 2304 Electrical Outlets
#includeint main(){ int sum; int n; int t; int a,i; scanf("%d",&t); while(t--) { scanf("%d",&n); sum=0; for(i=1;i<=n;i++) { scanf("%d",&a); sum=sum+a; } printf("%d\n"原创 2016-01-29 16:28:04 · 249 阅读 · 0 评论 -
hdu 2521 反素数
这道题目还可以优化,我还没想呢,人比较懒#include#includeint main(){ int n; int a,b; int pos; int i,j; int mmax; int cnt; int num[6000]; scanf("%d",&n); while(n--) { memset(num,0,sizeof(num)); scanf("%原创 2016-01-25 18:56:56 · 168 阅读 · 0 评论 -
hdu 2523 sort again
#include#include#include#includeusing namespace std;int main(){ int num1[2000],num2[3000]; int t; int n,k; int i,j; int cnt; scanf("%d",&t); while(t--) { memset(num1,0,sizeof(num1原创 2016-01-25 15:22:49 · 195 阅读 · 0 评论 -
hdu 2524 矩形a+b
#includeint main(){ int n,m; int sum; int t; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); sum=0; for(int i=n;i>=1;i--) { sum=sum+(1+m)*m/2*i; } printf("%d\n",sum); }原创 2016-01-25 13:35:51 · 177 阅读 · 0 评论 -
hdu 2535 vote
#include#includeusing namespace std;int main(){ int num[200]; int i; int n; int sum; while(cin>>n,n!=0) { sum=0; for(i=0;i<n;i++) cin>>num[i]; sort(num,num+n); /*for(i=0;i<n;i++原创 2016-01-25 13:07:03 · 251 阅读 · 0 评论 -
hdu 1034 Candy Sharing Game
#include#include#includeusing namespace std;int main(){ int num[11000],a[11000]; int count; int i,j; int n; int flag; while(cin>>n) { if(n==0) break; count=0; for(i=1;i<=n;i++) {原创 2015-12-06 17:39:31 · 205 阅读 · 0 评论 -
hdu 2537 8球胜负
#include#include#includeusing namespace std;int main(){ char str[30]; int n; int r,y; int i; while(cin>>n) { if(n==0) break; r=y=0; memset(str,0,sizeof(str)); for(i=0;i<n;i++)原创 2016-01-24 22:00:38 · 348 阅读 · 0 评论 -
hdu 2547 无见无我
#include#include#includeint main(){ double a,b,c,d; int t; scanf("%d",&t); while(t--) { scanf("%lf%lf%lf%lf",&a,&b,&c,&d); printf("%.1lf\n",sqrt((a-c)*(a-c)+(b-d)*(b-d))); } return 0;}原创 2016-01-24 20:44:12 · 254 阅读 · 0 评论 -
hdu 1005 number sequence
#include#include#includeusing namespace std;int main(){ int i,j; int beg,end; int n; int ret[60]; int flag; int a,b; while(cin>>a>>b>>n) { flag=0; if(a==0&&b==0&&n==0) break;原创 2016-01-24 15:11:09 · 166 阅读 · 0 评论 -
hdu 1001 sum problem
#include#includeusing namespace std;//用这个方法注意超出数据的范围,比如n=100//那么n*(1+n)=110,再除以2,才等于55,//如果用的是for(i=1;i<=100;i++)//则算出来的结果直接就是55//并不会把数据扩大到原来的两倍 int main(){ int n; while(cin>>n) { if(n&1原创 2016-01-23 23:54:31 · 170 阅读 · 0 评论 -
hdu 1000 A+B problem
#include#includeusing namespace std;int main(){ int a,b; while(cin>>a>>b) { cout<<a+b<<endl; } return 0;}原创 2016-01-23 23:39:03 · 254 阅读 · 0 评论