#include
int s[10000001];//违规数
void judge() {
int t=0;
for(int l=0; l<1000000; l++) {
int now,last=0,k;
k=l;
while(k) {
now=k%10;
if(now==4||now==6&&last==2) {
t++;
break;
}
k=k/10;
last=now;
}
s[l]=t;
}
}
int main() {
int n,m;
judge();
while(scanf("%d %d",&n,&m),n||m) {
printf("%d\n",m-n+1-(s[m]-s[n-1]));
}
return 0;
}
#include
int main()
{
double a,b;
char s[100];
double sum = 0.0;
while(scanf("%s", s)!=EOF)
{
scanf("%lf%lf", &a, &b);
sum += a*b;
}
printf("%.1lf\n", sum);
return 0;
}*/
2091.空心三角形
和2032杨辉三角差不多
2052.Picture
#include
void main()
{
char a;
int b;
int i,j,k,m;
int sign=1;
while(scanf("%s",&a)!=EOF)
{
if(a=='@') break;
scanf("%d",&b);
if(sign==0) printf("\n");//多个测试间隔一行
for(i=0;i<b;i++)//b行
{
for(j=b-1-i;j>0;j--)
{
printf(" ");//输出前面空格,规律还可以
}
printf("%c",a);//输出第一个a
if(i!=0&&i!=b-1)//除了第一行和最后一行
{
for(k=0;k<(i-1)*2+1;k++)
{
printf(" ");//输出有规律个数的空格
}
printf("%c",a);//有了if条件,第一行就不会有两个a
}
if(i==b-1)//最后一行
{
for(m=0;m<2*b-2;m++)
{
printf("%c",a);
}
}
printf("\n");//每行回车
}
sign = 0;
}
}
#include
#include
int main(){
int n,m;
while(scanf("%d%d",&n,&m),n,m){
double x=sqrt(n*n-4*m);
printf((int) x==x?"Yes\n":"No\n");
}
}
2093
太难了
#include
#include
#include
int main(){
char num1[2010][100],num2[2010][100];
int j,i,samep,count,n,butong,same;
while(scanf("%d",&n) != EOF && n){
getchar();
for(i = 0;i < n * 2;i++)
scanf("%s",&num2[i]);
same = 0;
for(i = 0;i < n * 2;i++){
for(j = i+1;j < n * 2;j++){
if(strcmp(num2[i],num2[j]) == 0){
same++;
break;
}
}
}
butong = n * 2 - same;
same = 0;
for(i = 1;i < n * 2;i+=2)
for(j = i+2;j < n*2;j+=2){
if(strcmp(num2[i],num2[j]) == 0){
same++;
break;
}
}
count = n - same;
if(butong - count == 1)
printf("Yes\n");
else
printf("No\n");
}
}
2095.find your present (2)
利用数论知识:a^ b^a=b,答案与n-1个数异或就是可以找出最终答案
#include
int main()
{
int n;
int temp;
while(scanf("%d",&n),n)
{
int ans,i;
for(i=0,ans=0;i<n;i++)
{
scanf("%d",&temp);
ans=ans^temp;
}
printf("%d\n",ans);
}
return 0;
}
异或运算法则
#include
int main(){
int n;
scanf("%d",&n);
while(n--){
int a,b;
scanf("%d%d",&a,&b);
if(a>=100) a=a%100;
if(b>=100) b=b%100;
int c=a+b;
if(c>=100) c=c%100;
printf("%d\n",c);
}
return 0;
}
#include
int main()
{
int a;
while(~scanf("%d",&a),a){
if( (a/1000+a/100%10+a/10%10+a%10)==(a/4096+a/256%16+a/16%16+a%16)&&
(a/1000+a/100%10+a/10%10+a%10)==(a/1728+a/144%12+a/12%12+a%12))
printf("%d is a Sky Number.\n",a);
else
printf("%d is not a Sky Number.\n",a);
}
return 0;
}
#include
#include
int isPrime(int n)//判断素数函数。
{
int i;
for(i = 2; i <= (int)sqrt(n); i ++)//从2到算数平方根遍历。
if(n%i == 0) return 0;//存在约数,非素数,返回0.
return 1;//是素数,返回1.
}
int main()
{
int i,a,j;
while(~scanf("%d",&a),a){
int c[5000]={0};
int k=0,count=0;
for(i = 2; i <= a; i ++)
if(isPrime(i)==1)//是素数。
{c[k]=i;k++;}
for(i=0;i<k;i++)
for(j=1;j<k;j++)
if(c[i]+c[j]==a)
{
// printf("%d %d\n",c[i],c[j]);
count++;
}
printf("%d\n",count/2);
/* for(j=0;j
}
return 0;
}
判断是否素数代码
#include
#include
int isPrime(int n)//判断素数函数。
{
int i;
for(i = 2; i <= (int)sqrt(n); i ++)//从2到算数平方根遍历。
if(n%i == 0) return 0;//存在约数,非素数,返回0.
return 1;//是素数,返回1.
}
int main()
{
int i,a;
while(~scanf("%d",&a)){
if(a==1)
printf("%d不是素数\n",a);
else if(isPrime(a)==1)
printf("%d是素数\n",a);
else
printf("%d不是素数\n",a);
}
return 0;
}
输出素数代码
#include
#include
int isPrime(int n)//判断素数函数。
{
int i;
for(i = 2; i <= (int)sqrt(n); i ++)//从2到算数平方根遍历。
if(n%i == 0) return 0;//存在约数,非素数,返回0.
return 1;//是素数,返回1.
}
int main()
{
int i;
for(i = 2; i <= 100; i ++)
if(isPrime(i)==1)//是素数。
printf("%d ", i);
return 0;
}
2099.整数的尾数
#include
int main(){
int a,b;
while(~scanf("%d%d",&a,&b),a+b){
int c=a*100;int d[100],k=0,i;
for( i=c;i<c+100;i++)
if(i%b==0){
d[k]=i%100;
k++;
}
for( i=0;i<k;i++)
if(i!=k-1){
if(d[i]>=0&&d[i]<10){
printf("0");
printf("%d ",d[i]);
}
else
printf("%d ",d[i]);
}
if(d[k-1]>=0&&d[k-1]<10){
printf("0%d\n",d[k-1]);
}
else
printf("%d\n",d[k-1]);
}
return 0;
}