-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
茹靖涵 level 1 已完成 #19
Open
mendicant07
wants to merge
4
commits into
luckymark:master
Choose a base branch
from
mendicant07:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
茹靖涵 level 1 已完成 #19
Changes from 2 commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
#include <iostream> | ||
#include <windows.h> | ||
#include <stdlib.h> | ||
using namespace std; | ||
int main() { | ||
HANDLE hOut; | ||
CONSOLE_SCREEN_BUFFER_INFO a; | ||
hOut = GetStdHandle(STD_OUTPUT_HANDLE); | ||
GetConsoleScreenBufferInfo(hOut, &a); | ||
int length_of_console = a.dwSize.X; | ||
int flag = 0; // symbolize whether 'a' has reached the two sides | ||
while(1){ | ||
for(int i=0;i<length_of_console;i++){ | ||
for (int j=0;j<i;j++)cout << " "; | ||
cout << "A"; | ||
Sleep(30); | ||
if (i == length_of_console - 1) flag = 1; // so that 'a' could turn left | ||
if (i == 0) flag = 0; | ||
if (flag) i -= 2; | ||
system("cls"); | ||
} | ||
} | ||
system("pause"); | ||
return 0; | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
#include <iostream> | ||
#include<cstdio> | ||
using namespace std; | ||
bool isPrime(int x){ // simple version | ||
if (x == 1) return false; | ||
for(int i = 2; i * i <= x; i++) if (x % i == 0) return false; | ||
return true; | ||
} | ||
int main() { | ||
int n; | ||
cin >> n; | ||
bool ans = isPrime(n); | ||
if (ans) printf("%d is a prime.\n",n); | ||
else printf("%d is not a prime.\n",n); | ||
system("pause"); | ||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
#include <iostream> | ||
using namespace std; | ||
const int lifetime = 84; // His lifetime could be divided by 12 and 7,so by common sense,his lifetime is 84. | ||
const int childhood = 14; | ||
const int youth = 7; | ||
const int bachelor = 12; | ||
const int marriage = 5; | ||
int main() { | ||
int father = childhood + youth + bachelor + marriage; | ||
int son = 0; | ||
int time = lifetime - 4 - father; | ||
if (time == lifetime / 2) cout << 80 << endl; | ||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
#include <iostream> | ||
using namespace std; | ||
const int max_lifetime = 800; // the life span of the legendary "PengZu" | ||
int main() { | ||
for(int i=0;i<max_lifetime;i++){ // i is the lifetime of Diophantus | ||
if(i % 6 != 0 || i % 12 != 0 || i%7 != 0) continue; | ||
int childhood = i / 6; | ||
int youth = i / 12; | ||
int bachelor = i / 7; | ||
int marriage = 5; | ||
int father = childhood + youth + bachelor + marriage; | ||
int son = 0; | ||
for(int j = 1;j <= i-father;j++){ | ||
if(son == i/2 && father + son + 4 == i) { | ||
cout << i << endl; | ||
break; | ||
} else son++; | ||
} | ||
} | ||
system("pause"); | ||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
#include <iostream> | ||
using namespace std; | ||
int digit[5]; // record every digit of the number | ||
int main() { | ||
for(int i = 100;i < 1000;i++){ | ||
int tmp = i; | ||
for(int j = 1;j <= 3;j++){ | ||
digit[j] = tmp % 10; | ||
tmp /= 10; | ||
} | ||
int i0 = digit[1] * digit[1] * digit[1]; | ||
int i1 = digit[2] * digit[2] * digit[2]; | ||
int i2 = digit[3] * digit[3] * digit[3]; | ||
if(i == i0 + i1 + i2) cout << i << endl; | ||
} | ||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
#include <iostream> | ||
#include <time.h> | ||
using namespace std; | ||
int isPrime(int n){ // ordinary algorithm | ||
if(n == 1) return 0; | ||
for (int i = 2;i * i <= n;i++){ | ||
if (n % i == 0) return 0; | ||
} | ||
return 1; | ||
} | ||
int main() { | ||
int begintime,endtime; | ||
begintime = clock(); | ||
for(int i = 2;i <= 1000;i++){ | ||
if(isPrime(i)) cout << i << ' '; | ||
} | ||
endtime = clock(); | ||
cout << "Runtime is " << endtime - begintime << "ms" << endl; | ||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
#include <stdio.h> | ||
#include <time.h> | ||
int main() { | ||
int begintime,endtime; | ||
begintime = clock(); | ||
printf("2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 1\n" | ||
"63 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251 257 263 269 271 277 281 283 293 307 311 313 317 331 3\n" | ||
"37 347 349 353 359 367 373 379 383 389 397 401 409 419 421 431 433 439 443 449 457 461 463 467 479 487 491 499 503 509 5\n" | ||
"21 523 541 547 557 563 569 571 577 587 593 599 601 607 613 617 619 631 641 643 647 653 659 661 673 677 683 691 701 709 7\n" | ||
"19 727 733 739 743 751 757 761 769 773 787 797 809 811 821 823 827 829 839 853 857 859 863 877 881 883 887 907 911 919 9\n" | ||
"29 937 941 947 953 967 971 977 983 991 997"); // Apparently this is the most efficient algorithm | ||
endtime = clock(); | ||
printf("Runtime is %dms",endtime - begintime); | ||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
#include <iostream> | ||
#include <string.h> | ||
#include <time.h> | ||
using namespace std; | ||
int main() { // Use"ShaiFa" | ||
int begintime,endtime; | ||
begintime = clock(); | ||
int f[1005]; // identify whether the number is a prime | ||
memset(f,1,sizeof f); | ||
for(int i = 2;i < 1000;i++){ | ||
if(f[i]) | ||
for(int j = 2; j * i <= 1000; j++) f[i*j] = 0; | ||
} | ||
for(int i = 2;i < 1000;i++) if (f[i]) cout << i << ' '; | ||
endtime = clock(); | ||
cout << "Runtime is " << endtime - begintime << "ms" << endl; | ||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
#include <iostream> | ||
#include <stdio.h> | ||
using namespace std; | ||
int isPrime(int x){ | ||
for (int i = 2; i * i <= x; i++){ | ||
if (x % i == 0) return 0; | ||
} | ||
return 1; | ||
} | ||
int main() { | ||
int prime[30]; | ||
int cnt = 0; | ||
for (int n = 2; n < 100; n++){ | ||
if(isPrime(n)) prime[++cnt] = n; | ||
} | ||
for(int x = 4 ; x <= 100; x += 2){ | ||
for(int i = 1; i <= cnt; i++){ | ||
if (isPrime(x - prime[i])){ // could use binary search in prime[] to optimize | ||
printf("%d = %d + %d\n",x,prime[i],x-prime[i]); | ||
break; | ||
} | ||
} | ||
} | ||
system("pause"); | ||
return 0; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
#include <iostream> | ||
#include <string> | ||
using namespace std; | ||
string a; | ||
char b[1000005]; | ||
void encrypt(string s) { | ||
for (int i = 0; i < s.length(); i++){ | ||
b[i] = s[i] + 3; | ||
cout << b[i]; | ||
} | ||
cout << endl; | ||
} | ||
void decrept(){ | ||
for (int i = 0; i < a.length(); i++){ | ||
char tmp = b[i] - 3; | ||
cout << tmp; | ||
} | ||
cout << endl; | ||
} | ||
int main() { | ||
cin >> a; | ||
encrypt(a); | ||
decrept(); | ||
system("pause"); | ||
return 0; | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
#include <iostream> | ||
#include <cstdio> | ||
#include <stack> | ||
using namespace std; | ||
int n; | ||
stack<int> a,b,c; | ||
|
||
void output(int n, int x, char a, char b){ | ||
printf("%d : %d from %c to %c\n",n,x,a,b); | ||
} | ||
|
||
char get_top(char x){ | ||
int tmp; | ||
if(x == 'a'){ | ||
tmp = a.top(); | ||
} else if(x == 'b'){ | ||
tmp = b.top(); | ||
} else{ | ||
tmp = c.top(); | ||
} | ||
return tmp; | ||
} | ||
|
||
void reverse(char x, char y){ | ||
int tmp; | ||
if(x == 'a' && y == 'b'){ | ||
tmp = a.top(); | ||
a.pop(); | ||
b.push(tmp); | ||
}else if(x == 'a' && y == 'c'){ | ||
tmp = a.top(); | ||
a.pop(); | ||
c.push(tmp); | ||
}else if(x == 'b' && y == 'a'){ | ||
tmp = b.top(); | ||
b.pop(); | ||
a.push(tmp); | ||
}else if(x == 'b' && y == 'c'){ | ||
tmp = b.top(); | ||
b.pop(); | ||
c.push(tmp); | ||
}else if(x == 'c' && y == 'a'){ | ||
tmp = c.top(); | ||
c.pop(); | ||
a.push(tmp); | ||
}else if(x == 'c' && y == 'b'){ | ||
tmp = c.top(); | ||
c.pop(); | ||
b.push(tmp); | ||
} | ||
} | ||
|
||
void solve(int n, char x, char y, char z){ | ||
if(n == 1){ | ||
output(n,get_top(x),x,z); | ||
reverse(x,z); | ||
return; | ||
} | ||
solve(n-1, x,z,y); | ||
output(n,get_top(x),x,z); | ||
reverse(x,z); | ||
solve(n-1,y,x,z); | ||
} | ||
int main(){ | ||
char x = 'a',y = 'b',z = 'c'; | ||
cin >> n; | ||
for(int i = n; i >= 1; i --){ | ||
a.push(i); | ||
} | ||
solve(n,x,y,z);// | ||
system("pause"); | ||
return 0; | ||
} |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
其实ans这个中间变量可以去掉,读起来反而更自然