pta上怎么搜题目_PTA的刷题记录

L1

Hello World!

#include

using namespacestd;intmain()

{

cout<

}

打印沙漏

#include#include#include

intmain(){char s='*';int n=5;int sums=3,

sums0=3,

sum=1;int n0=0;

scanf("%d",&n);

scanf("%c",&s);while(sums0

{

sums+=2;

sums0+=sums;

sum+=2;

};for(int i=-sum;i<=sum;++i,++i)

{if(i==1)continue;for(int j=0;j

{

printf(" ");

}for(int j=0;j

{

printf("%c",s);

n0++;

}if(i)printf("\n");

}

printf("%d",n-n0);return 0;

}

个位数统计

#include#include

using namespacestd;int a[10];intmain()

{stringn;

cin>>n;for(int i=0;i

{

a[n[i]-'0']++;

}for(int i=0;i<10;++i)

{if(a[i])

cout<

}return 0;

}

计算摄氏温度

#include#include

using namespacestd;intmain()

{floata;

cin>>a;

printf("Celsius = %d",(int)(5*(a-32)/9));return 0;

}

考试座位号

#include#include

using namespacestd;const int N = 10005;structp

{stringid;intk;

}stu[N];intmain()

{intn,s,k;stringid;

cin>>n;for(int i=0;i

{

cin>>id>>s>>k;

stu[s].id=id;

stu[s].k=k;

}

cin>>n;for(int i=0;i

{

cin>>s;

cout<

}

}

连续因子💦

#include#include#include

using namespacestd;

typedeflong longll;

ll sum, start;//最长连续因子的个数,开始时的因子

intmain()

{

ll n;

cin>>n;for (ll i = 2; i*i <= n; i++)

{if (n%i != 0)continue;

ll j=i;

ll t= n; //临时变量代替n,否则n的值会改变

ll num = 0;//临时记录最长连续银子个数

while(t%j == 0)//暴力连续因子

{

t/=j;

num++;

j++;

}if (sum < num)//更新最优值

{

sum=num;

start=i;

}

}if (sum == 0)//素数

cout << "1" << endl << n <

cout<< sum <

{if (i == sum - 1)

cout<< start + i <

}

}return 0;

}

念数字

#include#include#include

using namespacestd;const int N = 10005;string a[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};intmain()

{intn;

cin>>n;if(n<0)

{

cout<

}else if(n==0)

{

cout<

}

n= n<0?-n:n;

vectorb;while(n)

{

b.push_back(a[n%10]);

n/=10;

}

cout<=0;--i)

{

cout<

}

}

求整数段和

#include#include#include

using namespacestd;const int N = 10005;intmain()

{int a,b,sum=0,c=0;

cin>>a>>b;for(int i=a;i<=b;++i)

{

c++;

printf("%5d",i);if(c%5==0) cout<

sum+=i;

}

cout<

}

N个数求和

#include#include#include#include

using namespacestd;

typedeflong longll;const int M = 107;structnum

{

ll a;

ll b;

}lao[M];intmain()

{intn;

ll A=0,B=1;

cin>>n;for(int i=0;i

{

scanf("%ld/%ld",&lao[i].a,&lao[i].b);

B*=lao[i].b;//同分

}for(int i=0;i

{//计算分子

A+=B/lao[i].b*lao[i].a;

}if(A==0)

{

cout<<0;return 0;

}

ll C= A/B;

A-= B*C;

ll gcd=__gcd(A,B);

A/=gcd;

B/=gcd;int flag=0;if((A<0&&B>0) || (A>0&&B<0)) flag=1;if(flag)

{

A=A<0?-A:A;

B=B<0?-B:B;if(C!=0&&A!=0) printf("%ld -%ld/%ld",C,A,B);else if(A!=0) printf("-%ld/%ld",A,B);else if(C!=0) printf("%ld",C);

}else{if(C!=0&&A!=0) printf("%ld %ld/%ld",C,A,B);else if(A!=0) printf("%ld/%ld",A,B);else if(C!=0) printf("%ld",C);

}return 0;

}

比较大小

#include#include#include

u

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值