11.买铅笔·。P老师要买n支铅笔。商店一共有3种包装的铅笔,不同包装内的铅笔数量和总价有可能不同且已知。P老师决定只买同一种包装的铅笔。由于铅笔的包装不能拆开,因此P老师可能需要购买超过n支铅笔才够。请问:在商店每种包装的数量都足够的情况下,要买够至少n支铅笔最少需要花费多少钱?所有输入数据不超过10000.
#include<stdio.h>
int main(){
int n,p1,n1,p2,n2,p3,n3,t1,t2,t3,py;
scanf("%d",&n);
t1=!(n%n1)==0?p1*(n/n1):p1*(n/n1+1);
t2=!(n%n2)==0?p2*(n/n2):p2*(n/n2+1);
t3=!(n%n3)==0?p3*(n/n3):p3*(n/n3+1);
py=t1;
if(t1>t2){
py=t2;
}
if(py>t3){
py=t3;
}
printf("%d",py);
return 0;
}
12.分类平均。给定n(n<=10000)和k(k<=100),将1~n的所有正整数分为A、B两类:A类数可以被k整除(也就是说是k的倍数),而B类数不能。请输出这两类数的平均数,精确到小数点后1位,用空格隔开。
#include<stdio.h>
int main()
{
int n,k,a,b=0,c;
scanf("%d%d",&n,&k);
for(a=k;a<=n;a+=k){
b+=a;
}
c=(1+n)*n/2-b;
double d,e;
d=b/(n/k);
e=c/(n-n/k);
printf("%.1f",d);
printf("%.1f",e);
return 0;
}
跑不起来不知道哪错了是输入值得到一个答案。
等差数列:An=A1+(n-1)d An=Am+(n-m)d
求和:Sn=[n(A1+An)]/2 Sn=nA1+[n(n-1)d]/2