问题标题: 酷町堂:7418求解 谢谢!

0
0
已解决
马奕阳
马奕阳
中级守护
中级守护

7418   周期问题

经验值:800

时间限制:1000毫秒

内存限制:128MB

题目描述 De**ion

有一列数,按5、6、2、4、5、6、2、4、……排列。
(1)第x个数是多少?(2)前x个数相加的和是多少?

输入描述 Input De**ion

输入一个整数x

输出描述 Output De**ion

两个整数,以一个空格隔开,分别表示第x个数,以及前x个数的和

样例输入 Sample Input

5

样例输出 Sample Output

5 22

数据范围及提示 Data Size & Hint

x<=100

代码:

#include<iomanip>

#include<iostream>

#include<algorithm>

#include<cmath>

using namespace std;

int b[4]={5,6,2,4}; 

int main() {

int a,c=0,m,t,n;

cin>>a;

m=5+6+2+4;

if(a%4==0){

    cout<<b[0]-1;

    }else if(a%4==1){

    cout<<b[1]-1;

    }else if(a%4==2){

    cout<<b[2]-1;

    }else if(a%4==3){

    cout<<b[3]-1;

    }

    t=a%4;

    n=a/4;

    cout<<" ";

    if(n%4==0){

    cout<<t*m+b[0]-1;

    }else if(n%4==1){

    cout<<t*m+b[1]-1;

    }else if(n%4==2){

    cout<<t*m+b[2]-1;

    }else if(n%4==3){

    cout<<t*m+b[3]-1;

    }

return 0;

}


0
我要回答