#include
using
namespace std;
int a,b;
intwork
(int a,
int b)
intmain()
輸入:20 12
輸出:4
解析:主要考察函式遞迴呼叫
輸入20,12 ,work函式的作用是:如果a求餘b的值為true則進行函式遞迴呼叫
第一次20求餘12 得 8 ,此時條件成立,繼續執行work函式,傳入引數12,8
第二次12求餘8 得 4 ,此時條件成立,繼續執行work函式,傳入引數8,4
第三次4求餘8 得 4 ,此時條件成立,繼續執行work函式,傳入引數4,4
第三次4求餘4 得 0 ,此時條件不成立,結束迴圈
#include
using
namespace std;
intmain()
} tmp=1;
for(i=
0;i<
3;i++
) cout << tmp << endl;
return0;
}
輸入:2 3 5
輸出:416
解析:主要考察陣列和for迴圈
第乙個for迴圈給陣列b[0-2]賦值2 3 5。
第二個for迴圈的迴圈次數是3次,裡面的巢狀迴圈的次數是1+2+3次
第一次迴圈:i = 0; a[0]=0; j=0; a[0] = a[0]+b[0]=2; b[2]=b[2]+a[0] = 7
第二次迴圈:i = 1; a[1]=0; j=0; a[1] = a[1]+b[0]=2; b[2]=b[2]+a[0] = 9
j=1; a[1]=a[1]+b[1]=5; b[2]=b[2]+a[1] = 14
第三次迴圈:i = 2; a[2]=0; j=0; a[2] = a[2]+b[0]=2; b[2]=b[2]+a[0] = 16
j=1; a[2] = a[2]+b[1]=5; b[2]=b[2]+a[0] = 21
j=2; a[2] = a[2]+b[2]=26; b[2]=b[2]+a[0] = 47
此時陣列a[0] = 2 ; a[1] = 5 ; a[2] = 26 ; b[0] = 2 ; b[1]= 3 ; b[2] = 47
第四個for迴圈的迴圈次數是3次,每次對a[1-2]和b[1-2]求餘取和,然後相乘得結果
tmp 三次變化分別是:4,32,416
#include
using
namespace std;
const
int c=
2009
;int
main()
cout << s << endl;
return0;
}
輸入:11 2
輸出:782
解析:主要考察for迴圈
n = 11,p = 2; s = 0;t=1;
外層for迴圈一共迴圈10次,裡層for迴圈一共迴圈1 ,2,3…10次
每次的變化如下:
t = 1 * 2 % 2009 = 2 s = 2 % 2009 = 2
t = 2 * 2 % 2009 = 4 s = 6 % 2009 = 6 s =10 % 2009 = 10
…每次 for迴圈中 t 的值分別為:2、4、8、16、32、64、128、256、512、1024、39
這裡%的優先順序比 * 高
每次 for迴圈後 s 的值分別為:2、10、34、98、258、642、1538、1577、158、353、782
#include
using
namespace std;
const
int maxn=50;
void
getnext
(char str)
return;}
intmain()
cout << a << endl;
return0;
}
輸入:noip 3
輸出:npoi
解析:主要考察
NOIP2018提高組閱讀程式寫結果第4題
排列雜湊板子題 首先看出程式是在求下乙個排列 第乙個輸入暴算即可 第二個輸入考慮雜湊乙個排列使得has h ne xt p ermu tati on hash thi s pe rmut aion 1hash next permutation hash this permutaion 1 hash ...
NOIP普及組總結
一些感想 考試,好也罷壞也罷,已經過去,只能反思,不能再來 題目 問題 a 3502 noip2017普及組 成績 題目描述 牛牛最近學習了c 入門課程,這門課程的總成績計算方法是 總成績 作業成績 20 小測成績 30 期末考試成績 50 牛牛想知道,這門課程自己最終能得到多少分。輸入只有1 行,...
閱讀程式(6)
all right reserved.檔名稱 test.cpp 作 者 韓雙志 完成日期 2016年6月20日 版本號 v1.0 問題描述 輸入描述 輸出描述 include include include include include using namespace std int main c...