3.4
数列求值
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int a,b,c,d;
a=1; b=1; c=1; for(int i=3;i<20190324;i++){
d=(a+b+c)%10000; a=b; b=c; c=d;
}
printf("%d",d); // 请在此输入您的代码
return 0;
}
第2019个质数
#include <stdio.h>
#include <stdlib.h>
int zhi(int n){
for(int i=2;i<=n/2;i++){
if(n%i==0)
return 1;
}
return 0;
}
int main(int argc, char *argv[])
{
int a=0;
int i;
for(i=2;a<2019;i++){
if(zhi(i)==0)
a++;
}
printf("%d",i-1);
// 请在此输入您的代码
return 0;
}
此题遇到的问题是a<2019还是a<=2019,当a<2019时加到2019结束刚刚好,不应该是<=2019,尝试列举一个小点的数字就想通了。
饮料换购
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int n;
int a;
scanf("%d",&n);
long sum=n;
while(n/3){
a=n/3;
sum=sum+a;
n=a+n-((n/3)*3);
}
printf("%ld",sum);
// 请在此输入您的代码
return 0;
}